Funktionale Programmierung ist ein Programmierparadigma, das darauf basiert, Abstraktionen mithilfe von Funktionen zu erstellen, Nebenwirkungen und Zustandsänderungen zu vermeiden. Reine Funktionsprogrammierung ist threadsicher.
In F # ist die Verwendung des Pipe-Forward-Operators |>ziemlich häufig. In Haskell habe ich jedoch nur die Funktionszusammensetzung gesehen (.), die verwendet wurde. Ich verstehe, dass sie verwandt sind , aber gibt es einen sprachlichen Grund, warum Pipe-Forward in Haskell nicht verwendet wird, oder ist es etwas anderes?
Gibt es in reinen Funktionssprachen wie Haskell einen Algorithmus, um die Umkehrung einer Funktion (Bearbeiten) zu erhalten, wenn sie bijektiv ist? Und gibt es eine bestimmte Möglichkeit, Ihre Funktion so zu programmieren, wie sie ist?
Ich bin ein wenig überrascht, dass MATLAB keine Map-Funktion hat, also habe ich selbst eine gehackt, da es etwas ist, ohne das ich nicht leben kann. Gibt es da draußen eine bessere Version? Gibt es eine etwas standardmäßige funktionale Programmierbibliothek für MATLAB, die mir fehlt? function results = map(f,list) % …
Ein Satz, den ich kürzlich bemerkt habe, ist das Konzept des "punktfreien" Stils ... Zuerst gab es diese und auch diese Frage . Dann entdeckte ich hier, dass sie erwähnen: "Ein weiteres Thema, das es wert sein könnte, diskutiert zu werden, ist die Abneigung der Autoren gegen punktfreien Stil." Was …
Python verfügt über eine integrierte Funktionenumerate , um eine Iteration von (index, item)Paaren zu erhalten. Hat ES6 ein Äquivalent für ein Array? Was ist es? def elements_with_index(elements): modified_elements = [] for i, element in enumerate(elements): modified_elements.append("%d:%s" % (i, element)) return modified_elements print(elements_with_index(["a","b"])) #['0:a', '1:b'] ES6-Äquivalent ohne enumerate: function elements_with_index(elements){ return …
Gibt es Standardbibliotheksaufrufe, mit denen ich entweder Set-Operationen für zwei Arrays ausführen oder diese Logik selbst implementieren kann (idealerweise so funktional und auch effizient wie möglich)?
Ich bin mir bewusst, dass Linksfalte linksgerichtete Bäume und Rechtsfalte rechtsgerichtete Bäume hervorbringt, aber wenn ich nach einer Falte greife, bin ich manchmal in kopfschmerzauslösenden Gedanken versunken und versuche festzustellen, welche Art von Falte Ist angemessen. Normalerweise löse ich das gesamte Problem ab und gehe die Implementierung der Faltfunktion durch, …
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Gibt es in Scala Richtlinien, wann val mit einer veränderlichen Sammlung verwendet werden soll, während var mit einer unveränderlichen Sammlung verwendet werden soll? Oder sollten Sie wirklich Wert auf eine unveränderliche Sammlung legen? Die Tatsache, dass es beide Arten von Sammlungen gibt, gibt mir eine große Auswahl, und oft weiß …
Ich bin relativ spät in meinem Programmierleben auf den Curry-Howard-Isomorphismus gestoßen , und vielleicht trägt dies dazu bei, dass ich davon total fasziniert bin. Dies impliziert, dass es für jedes Programmierkonzept ein genaues Analogon in der formalen Logik gibt und umgekehrt. Hier ist eine "grundlegende" Liste solcher Analogien: program/definition | …
Gibt es eine mittelgroße Clojure-Beispielanwendung, die als Beispiel für "Best Practices" verwendet werden kann, und eine gute Möglichkeit, um zu sehen, wie eine solche Anwendung in Bezug auf Code und Codeorganisation aussehen würde? Eine Webanwendung wäre für mich besonders interessant, aber das Wichtigste ist, dass das Programm etwas allgemein Nützliches …
Ich lerne Javascript FP, indem ich DrBooleans Buch lese . Ich suchte nach einer funktionalen Programmierbibliothek. Ich habe Ramda und Folktale gefunden. Beide behaupten, eine funktionale Programmierbibliothek zu sein. Aber sie sind so unterschiedlich: Ramda scheint Utility-Funktionen für den Umgang mit Listen zu enthalten: Map, Reduce, Filter und reine Funktionen: …
Beim Lesen dieses klassischen Papiers bin ich auf Paramorphismen fixiert. Leider ist der Abschnitt ziemlich dünn und die Wikipedia-Seite sagt nichts. Meine Haskell-Übersetzung lautet: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h …
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.