Ich verstehe, dass eine CAF eine Form ist, da sie eine bestimmte Form im Speicher oder eine von unendlich vielen möglichen grafischen Darstellungen von Wert hat evaluiert zu. ( Es wird angemerkt , dass "konstante Anwendungsform" synonym zu " statischer Thunk ".)
Ich verstehe, dass es konstant ist, da es keine freien Variablen gibt und alle Informationen, die notwendig sind, um eine konstante Form auszuwerten, darin bereits enthalten sind. Es ist eine Form, die keine Pfeile nach außen zeigt.
Aber warum " applicative "? Ich kann deswegen nachts nicht schlafen. Jeder sagt Café, Café, aber wer weiß eigentlich, was das heißt? Hat es etwas mit anwendungsbezogenen Funktoren zu tun (ich denke nicht)? Welche anderen Arten von Anwendungsformen gibt es da draußen?
Ein Ausdruck in konstanter Anwendungsform ist eine Konstante, die auf (null oder mehr) andere Konstanten angewendet wird. (Natürlich benötigt jede dieser Konstanten einige Berechnungen, bevor sie vollständig ausgewertet werden können!)
Jeder CAF ist ein Superkombinator, und Superkombinatoren sind, kurz gesagt, Funktionen, die andere (möglicherweise nullare) Funktionen übernehmen und sie aufeinander anwenden.
Mein Verständnis von "applicativ" im CAF-Namen bezieht sich also auf ihre superkombinatorische Natur.
Ich streckte mich zu Haskell Cafe und Stephen Tetley erklärte dies freundlicherweise mich. Kurz gesagt:
Circa der 70er und 80er Jahre "applicative" wurde oft in Großbritannien als verwendet Synonym für funktionale ...
- So können wir das "Café" als "cff" bezeichnen.
Ich werde immer noch nachsehen müssen, was das eigentlich bedeutet. Stephen schlug ein Papier vor, das unter anderem von Anwendungsausdrücken redet, die zufällig identisch sind Als meine anwendbaren Formen, aber es wird unbestimmte Zeit dauern, bis ich eine einigermaßen fundierte Aussage darüber machen kann, ob dies der Fall ist, also werde ich eine Antwort für den Moment schreiben, während ich mich auf die Möglichkeit meiner Ausdehnung nachher behalte eine Weile.
Tags und Links haskell