Funktionale Programmierung ist ein Programmierparadigma, das hauptsächlich Funktionen als Mittel zum Erstellen von Abstraktionen und zum Ausdrücken von Berechnungen verwendet, die ein Computerprogramm umfassen.
Ich arbeite an einer ausdrucksbasierten Sprache der ML-Genealogie, daher ist natürlich eine Typinferenz erforderlich> :) Jetzt versuche ich, eine auf Einschränkungen basierende Lösung für das Problem der Ableitung von Typen zu erweitern, die auf einer einfachen Implementierung in EOPL (Friedman und Wand) basiert, aber sie sind elegant algebraische Datentypen. Was …
Ich wurde darauf aufmerksam gemacht, dass die Kosten für Typinferenz in einer funktionalen Sprache wie OCaml sehr hoch sein können. Die Behauptung ist, dass es eine Folge von Ausdrücken gibt, so dass für jeden Ausdruck die Länge des entsprechenden Typs exponentiell zur Länge des Ausdrucks ist. Ich habe die folgende …
Ich möchte Beweise für Teile eines Haskell-Programms liefern, das ich im Rahmen meiner Abschlussarbeit schreibe. Bisher habe ich jedoch kein gutes Nachschlagewerk gefunden. Graham Huttons Einführungsbuch Programming in Haskell ( Google Books ), das ich beim Lernen von Haskell gelesen habe, geht auf einige Techniken ein, um über Programme wie …
Ich kenne nicht die richtige Terminologie, um diese Frage zu stellen, deshalb werde ich sie stattdessen mit vielen Worten beschreiben. Hintergrund , nur damit wir uns auf derselben Seite befinden: Programme enthalten häufig Caches - ein Kompromiss zwischen Zeit und Speicher. Ein häufiger Fehler eines Programmierers besteht darin, zu vergessen, …
Selbsttypen sind eine Erweiterung der Konstruktionsrechnung [1], mit der die Sprache algebraische Datentypen ausdrücken kann, die durch die Scott-Codierung codiert werden. Die Scott-Codierung bietet die Möglichkeit zur Musterübereinstimmung O(1), was einer der Hauptgründe für die Aufnahme induktiver Definitionen in CC ist. Selbsttypen sind jedoch eine viel einfachere und elegantere Basistheorie …
Was sind anonyme (Lambda) Funktionen? Was ist die formale Definition einer anonymen Funktion in einer funktionalen Programmiersprache? In meinen einfachen Worten, wenn ich in Schema / Lisp programmiere, würde ich sagen, dass eine anonyme (Lambda) Funktion eine Funktion ist, die nicht an einen Bezeichner gebunden ist. Ist das alles, was …
Die Defunktionalisierung ist eine Transformation, die erstmals 1972 von John C. Reynolds beschrieben wurde, um Funktionen höherer Ordnung zu eliminieren. Gibt es alternative Transformationen (effizienter?), Um Funktionen höherer Ordnung zu eliminieren?
Ich möchte die Leistung von funktionscodierten (Church's / Scott's) mit klassisch codierten (Assembler / C) Datenstrukturen vergleichen. Aber bevor ich das tue, muss ich wissen, wie effizient die Funktionsrepräsentation im Speicher ist / sein kann. Die Funktion kann natürlich teilweise angewendet werden (auch bekannt als Closure). Ich interessiere mich sowohl …
Ich möchte wissen, inwieweit ein Typensystem in einer Programmiersprache von Vorteil sein kann. Ich weiß zum Beispiel, dass wir in einer abhängig typisierten Programmiersprache eine VectorKlasse erstellen können, die die Größe des Vektors in die Typensignatur einbezieht. Es ist wie ein De-facto-Beispiel. Wir können auch eine Funktion appendmit diesen Signaturen …
Es gibt also einen Algorithmus zum Konvertieren von Lambda-Kalkül-Begriffen in kombinatorische Logik unter Verwendung von SK-Kombinatoren. Es produziert Dinge, die in der Größe explodieren . Ich würde gerne mehr über diese Explosion erfahren. Ich kann mir jedoch keinen besseren Algorithmus vorstellen. Ich habe von funktionalen Sprachen gehört, die praktisch zu …
Obwohl ich in meinem täglichen Leben als Programmierer arbeite und alle trendigen Sprachen (Python, Java, C usw.) verwende, habe ich immer noch keine klare Vorstellung davon, was funktionale Programmierung ist. Nach dem, was ich gelesen habe, ist eine Eigenschaft von Funktionssprachen, dass Datenstrukturen unveränderlich sind . Für mich allein wirft …
Angenommen, Listen sind definiert als List a = Nil | Cons a (List a) Dann ist in Haskell List xder größte oder kleinste Fixpunkt? Ich frage, weil das lfp unendliche Listen ausschließen sollte (aber Sie können sie in Haskell erstellen), während das gfp endliche ausschließen sollte.
StackOverflow hat mich hier gezeigt, daher könnte die Frage für Laien etwas zutreffend sein. Wikipedia definiert reine Funktionen als In der Computerprogrammierung kann eine Funktion als reine Funktion beschrieben werden, wenn beide Aussagen über die Funktion gelten: Die Funktion wertet immer den gleichen Ergebniswert bei gleichen Argumentwerten aus. Der Funktionsergebniswert …
Die Sprache, die ich lerne, ist Schema und ich arbeite an einer Übung, die Folgendes gibt: (define (p) (p) ) (define (test x y) (if (= x 0) 0 y)) Dann wird die Frage gestellt, den Ausdruck zu bewerten: (Test 0 (p)) und das Verhalten zu kommentieren, das bei der …
In der Typentheorie Podcast ep. 3 , Dan Licata behauptet, dass die Tatsache, dass Insertionsort und Mergesort für jede Eingabe das gleiche Ergebnis liefern, nicht bedeutet, dass das Ergebnis gleich wäre, wenn es als Funktionen höherer Ordnung als Argumente für eine dritte Funktion verwendet würde, dh map insertionsortnicht gleich sein …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.