In funktionalen Sprachen sind Variablen beispielsweise eine einzelne Zuweisung und ihre Werte sind nach der Zuweisung unveränderlich. Sie haben also zwei ungebundene und gebundene Zustände . Sobald sie gebunden sind, können sie nicht mehr geändert werden.
Gibt es einen mathematischen Begriff oder einen anderen Informatikbegriff, der für so etwas am besten geeignet ist? Etwas, das semantisch keine Varianz oder Veränderlichkeit impliziert.
Wenn nicht, gibt es keinen Begriff, und wenn Sie eine Sprache mit solchen Konstrukten entwerfen würden, welche andere als die Wortvariable würden Sie für diese verwenden?
Ich bin nicht wirklich auf der Suche nach Umfrage für Ideen, ich versuche , herauszufinden, ob es bereits eine akzeptierte Industrie (Industrie) Begriff für so eine Sache.
Antworten:
Was ist mit "Symbol"?
Ich habe ein Video auf F # gesehen, in dem der Sprecher sagte:
(Ich suche immer noch nach der Referenz dafür.)
Immer wenn ich an Stellen, an denen solche Konstrukte unveränderlich sind, auf das Wort "Variable" stoße, denke ich stillschweigend an "gebundenes Symbol".
quelle
Nennen Sie sie einfach Variablen. Mathe hat Variablen; Funktionssprachen haben die gleiche Art von Variablen.
Siehe auch diesen Aufsatz von Bob Harper zu diesem Terminologieproblem .
quelle
Es ist immer noch eine Variable, wenn sie in verschiedenen Aufrufen verschiedene Werte annehmen kann. Mit anderen Worten, obwohl es nach seiner Zuweisung nicht mehr geändert werden kann, kann dieses Symbol zunächst verschiedenen Werten zugewiesen werden. Dies steht im Gegensatz zu einer Konstante , die bei jedem Aufruf denselben Wert enthält.
quelle
Konstante oder Konstante ist wahrscheinlich Personen bekannt, die Sprachen wie C und C ++ verwenden.
quelle
Name . Dasselbe kann vernünftigerweise mit mehreren Namen aufgerufen werden (
x = 4; y = 4
); und ein einmal definierter Name ändert niemals seinen Referenten.x = 2; x = 3
macht genauso wenig Sinn wie zu sagen, dass ein Oktopus kein Oktopus ist.quelle
label
aber esname
funktioniert gerecht und gut, wenn nicht besser.Warum nicht einfach bei diesem Begriff bleiben? Es ist möglicherweise nicht 100% angemessen, aber wenn Sie einen anderen Namen wählen, führt dies wahrscheinlich zu mehr Missverständnissen als denjenigen, die Sie zu lösen versuchen. Designer anderer funktionaler Sprachen hatten möglicherweise das gleiche Problem, entschieden sich jedoch auch für den Begriff "Variable".
XSLT (das weit verbreitet ist):
http://www.w3schools.com/xsl/el_variable.asp
Haskell:
http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-240003.2
Planen:
http://www.scheme.com/tspl2d/binding.html
Erlang:
http://www.erlang.org/doc/reference_manual/expressions.html
Alle verwenden auch den Begriff "Variable".
Natürlich sprechen andere Sprachdesigner lieber von "Bindungen" oder "gebundenen Werten", wie hier für F #:
http://msdn.microsoft.com/en-us/library/dd233238.aspx
quelle
Je nach Kontext würde "Variable" oder "Bindung" funktionieren. Ich denke, dass "Bindung" eher in Aussagen wie
let
in Haskell oder Lisp auftaucht .quelle