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 habe mir den Vortrag von Jim Weirich mit dem Titel " Adventures in Functional Programming " angesehen. In dieser Vorlesung stellt er das Konzept der Y-Kombinatoren vor, die im Wesentlichen den Fixpunkt für Funktionen höherer Ordnung finden. Eine der Beweggründe, wie er es erwähnt, ist, rekursive Funktionen mit Lambda-Kalkül …
Unser Professor hat uns gebeten, uns eine Funktion in OCaml zu überlegen, die den Typ hat 'a -> 'b dh eine Funktion eines Arguments, das alles sein kann und das etwas anderes zurückgeben kann. Ich dachte an die Verwendung raisein einer Funktion, die ihr Argument ignoriert: let f x = …
Laut diesem Artikel gibt die folgende Zeile des Lisp-Codes "Hello world" in der Standardausgabe aus. (format t "hello, world") Lisp, eine homoikonische Sprache , kann Code wie folgt als Daten behandeln: Stellen Sie sich nun vor, wir hätten folgendes Makro geschrieben: (defmacro backwards (expr) (reverse expr)) rückwärts ist der Name …
In Philip Wadlers Aufsatz über Theorems for Free stellt er in Abschnitt 2 über Parametrizität fest, dass Es gibt keine naiven satztheoretischen Modelle der polymorphen Lambda-Rechnung In der naiven Mengenlehre sind Modelltypen Mengen und Funktionen Mengenlehrefunktionen, was vernünftig erscheint. Warum sagt er also, dass es keine naiven satztheoretischen Modelle der …
In letzter Zeit habe ich großes Interesse daran, Aspekte von (funktionalen) Programmiersprachen zu verstehen und zu beweisen. Wenn ich jedoch tiefer in die Materie eintauche, sind Dinge wie Berechnung, Kategorietheorie und Denotationssemantik ohne angemessene Erklärung etwas schwierig zu verstehen.λλ\lambda Ich habe SICP gelesen (ein ziemlich aufschlussreiches Buch), aber ich versuche, …
CPUs sind zu einem gewissen Grad unter Berücksichtigung der Software konzipiert, die die Leute implizit oder explizit dafür schreiben. Wenn Sie sich den Entwurf von Befehlssatzarchitekturen ansehen, scheint es mir, dass sie sehr "zwingend" sind, in dem Sinne, dass jeder Befehl einen Befehl im imperativen Stil codiert. Es scheint mir …
Kann mich jemand auf von Experten begutachtete Artikel verweisen, in denen die Vor- oder Nachteile des Schreibens von Code in einem funktionalen Stil untersucht werden? Gibt es Papiere, in denen die Anwendungen von Lambda Calculus in Bereichen wie Maschinelles Lernen, Sprachdesign usw. erörtert werden?
Funktionale Programmierung hat den sehr eleganten Lambda-Kalkül und seine Varianten als Backup-Theorie. Gibt es so etwas für OOP? Was ist eine Abstraktion für das objektorientierte Modell?
Ich habe eine ähnliche Frage zu cstheory.SE gestellt . Laut dieser Antwort auf Stackoverflow gibt es einen Algorithmus, der auf einer nicht faulen reinen funktionalen Programmiersprache eine -Komplexität aufweist, während derselbe Algorithmus in der imperativen Programmierung . Das Hinzufügen von Faulheit zur FP-Sprache würde den Algorithmus zu .Ω ( n …
Im haskell-Wiki gibt es das folgende Beispiel für die bedingte Verwendung der IO-Monade (siehe hier) . when :: Bool -> IO () -> IO () when condition action world = if condition then action world else ((), world) Beachten Sie, dass in diesem Beispiel die Definition von so verstanden IO …
Gibt es irgendwelche Änderungen, die an CPUs vorgenommen werden könnten, um sie für gleichzeitige Laufzeiten wie Rust leistungsfähiger zu machen? Gibt es beispielsweise Änderungen an Implementierungen für die Verzweigungsvorhersage oder an den Cachegrößen, die zu gleichzeitigen Laufzeiten führen könnten? Ich habe den Eindruck, dass die aktuellen CPU-Designs mehr für prozedurale …
Ich denke, ich verstehe, wie die Entwaldung eine Liste gleichzeitig verbraucht und produziert (von einer Fold- und einer Unfold- Funktion - siehe diese gute Antwort auf CodeReview hier ), aber als ich das mit dem Wikipedia-Eintrag über die Technik verglich, von der es sprach, "Entfernen" Bäume 'aus einem Programm. Ich …
Angenommen, man möchte über Eigenschaften des Codes hinaus über Dinge wie Totalität und funktionale Reinheit nachdenken - man kümmert sich auch um den Speicherverbrauch oder die algorithmische Komplexität einer Funktion. Kann dies durch abhängige Typisierungs- und Effektsysteme erreicht werden?
Ich suche nach einer dauerhaften Datenstruktur ähnlich dem Array (aber unveränderlich), die schnelle Indizierungs-, Anhänge-, Voranstellungs- und Iterationsoperationen (gute Lokalität) ermöglicht. Clojure bietet dauerhaften Vektor, ist jedoch nur zum schnellen Anhängen geeignet. Scalas Vektor hat effektiv ein zeitlich konstantes Anhängen und Voranstellen, aber ich kann nicht verstehen, wie es implementiert …
In einem Kommentar zu Learning F #: Welche Bücher mit anderen Programmiersprachen können in F # übersetzt werden, um funktionale Konzepte zu lernen? Makarius erklärte: Beachten Sie, dass der "CPS" -Ansatz die Leistung in SML / NJ erheblich beeinträchtigt hat. Das physikalische Bewertungsmodell verstößt gegen zu viele Annahmen, die in …
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.