Ein praktischer Lambda-Rechner

Ein praktischer Lambda-Rechner ist ein Lambda-Rechner mit komfortablen Befehlen und Verknüpfungen.
Jetzt downloaden

Ein praktischer Lambda-Rechner Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Public Domain
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Oleg
  • Website des Verlags:
  • http://pobox.com/~oleg/ftp/Computation/lambda-calc.html

Ein praktischer Lambda-Rechner Stichworte


Ein praktischer Lambda-Rechner Beschreibung

Ein praktischer Lambda-Rechner ist ein Lambda-Rechner mit komfortablen Befehlen und Verknüpfungen. Ein praktischer Lambda-Rechner ist ein Normalbestellungs-Evaluator für den untypisierten Lambda-Kalkül, der mit komfortablen Befehlen und Abkürzungen erweitert wird, um eine Programmierung in IT-Programmieren mehr produktiver zu machen. Shetcuts sind angesehener Konstanten, die Begriffe repräsentieren. Befehle definieren neue Verknüpfungen, aktivieren Sie die Ablaufverfolgung aller Reduzierungen, vergleichen Sie die Bedingungen MODULO-Alpha-Konvertierung, drucken Sie alle definierten Verknüpfungen und Auswertungsflags usw. oder "inklusive" von einer Datei mit einem speziellen Befehl. Ein Haskell-Zweig ist ein Einbettung des Lambda-Rechners (als domänenspezifische Sprache) in Haskell. Der Taschenrechner kann interaktiv innerhalb Umarmungen oder GHCI verwendet werden. Der aktuelle Rechner implementiert, was ein effizienter und eleganter Algorithmus der Normalbestellungen ist. Der Algorithmus ist "funktioneller" als der traditionell verwendete Ansatz. Der Algorithmus erscheint mit dem von Yacc angestellten Algorithmus identisch mit dem von Yacc Sans eins kritischen Unterschied. Der Rechner nimmt auch einen "funktionellen" Annäherungsansatz an die Hygiene von Beta-Substitutionen, das durch Färbung von Kennungen gelöst wird, wo absolut notwendig ist. Dieser Ansatz ist "funktioneller", da er einen globalen Zähler oder den Einfädeln des Paint-Eimers durch den gesamten Prozess vermeidet. Die Integration des Taschenrechners mit Haskell lässt uns die Begriffe in Variablen speichern und einfach und intuitiv kombinieren. Das traditionelle Rezept für Normalbestellungen umfasst einen unangenehmen Satz "Koch bis erledigt". Der Satz macht es notwendig, den Versuch der Reduktionsversuche zu behalten, und impliziert einen hässlichen iterativen Algorithmus. Wir schlagen vor, eine effiziente und elegante Technik zu sein, die durch intuitive Wiederbeschreibungsregeln umgesetzt werden kann. Unsere Rechner, wie yacc, besitzt einen Stapel und funktioniert, indem er eine Reihenfolge der Verschiebung durchführt und die Schritte verringert. Der einzige signifikante Unterschied von yacc ist, dass der Lambda-Rechner das Ergebnis nach dem erfolgreichen Reduzierschritt zurückschreibt. Die Quelle und die Zielsprachen unseres "Parsers" (Lambda-Rechner) sind gleich; Daher kann sich der Parser tatsächlich selbst anwenden. Der Parsingstapel kann implizit gemacht werden. In diesem Fall kann der Algorithmus zur Normalisierung typisierter Lambda-Begriffe in zwarf verwendet werden. Die folgenden Beispiele zeigen, dass Lambda-Kalkül zu einer domänenspezifischen Sprache wird, die in Haskell eingebettet ist:> c0 = f ^ x ^ x - Kirchen-Ziffer 0 > succ = c ^ f ^ x ^ f # (c # f # x) - Nachfolger> C1 = Eval $ succ # C0 - Vorabbewerten andere Ziffern> C2 = Eval $ succ # C1> C3 = Eval $ succ # C2> C4 = Eval $ succ # C3IT ist in der Tat bequem, um Begriffe in Haskell-Variablen zu speichern und sie vor- (dh normalisieren). Sie sind in der Tat Begriffe. Wir können den Dolmetscher immer fragen, um den Begriff anzuzeigen. Zeigen Sie beispielsweise C4-Ausbeuten (f. (X f (f (f x))))). Lassen Sie Mul = a ^ b ^ f ^ a # (b # f) - Multiplikation Eval $ MUL # C1 ---> (b. b), die Identitätsfunktion Eval $ MUL # C0 ---> (b. ( f. (x. x))), das ist "const 0" Dies sind algebraische Ergebnisse: Multiplizieren einer beliebigen Zahl mit Null ergibt immer Null. Wir können jetzt sehen, wie Lambda-Calculus für die ARBEITUNGSMITTEL NEWZEIT, auch über universell quantifizierte Formeln, nützlich sein kann. Der Taschenrechner implementiert Dr. Fairbairns Vorschlag, die Tiefe der Druckbedingungen einzuschränken. Dies ermöglicht es, einige unterschiedliche Begriffe zu bewerten und zu drucken (sogenannte Tail-divergente Begriffe): lambda_calc> let y_comb = f ^ ((p ^ p # p) # (c ^ f # (c # c))) in Eval $ y_comb # cc (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c (c))))) Es ist erstaunlich, wie gut Lambda-Calculus und Haskell zusammen spielen.


Ein praktischer Lambda-Rechner Zugehörige Software

Heiterkeit

Mirth ist ein plattformübergreifender HL7-Schnittstellen-Motor, der das bidirektionale Senden von HL7-Nachrichten ermöglicht. ...

382

Herunterladen

NRIA.

NRIA ist ein xview-basiertes interaktives Bildanalyseprogramm, das in BBL entwickelt und verwendet wird und der unter Solaris 2.5 bis 2,7 läuft ...

194

Herunterladen

Ctioga.

Ein leistungsstarkes Befehlszeilen-Plotungssystem, um die Grafiken der Publikationqualität schnell zu erstellen. ...

222

Herunterladen

Noaadata-Py

NOAADATA-PY ist eine Suite von Python-Tools für Daten, die von NOAA verwendet oder hergestellt werden. ...

185

Herunterladen