2014-12-29 10 views
5

In den Scala Language Specs (Version 2.9 - 11. Juni 2014) wird im Abschnitt über Existenztypen der Begriff "Substitution" verwendet, die Bedeutung der Substitution scheint jedoch in der Scala Language Specification nicht definiert zu sein.Was ist der Begriff "Substitution" in der Scala Language Specification?

Kann jemand erklären, was Substitution in diesem Zusammenhang bedeutet?

Bedeutet dies, dass eine Typvariable in einem Typausdruck durch einen anderen konkreten Typ oder Typvariablen- oder Typkonstruktor ersetzt wird?

Wenn die Substitution ein konkreter Typ sein soll, dann werden die konkreten Typen berücksichtigt? Die, die als einfacher Name in Reichweite sind?

Was wäre eine sinnvolle Definition für den Begriff "Substitution" in diesem Zusammenhang?

Was wird durch was ersetzt?

enter image description here

+0

Einfach raten, aber vielleicht bezieht es sich auf das [Liskov-Substitutionsprinzip] (https://en.wikipedia.org/wiki/Liskov_substitution_principle) –

Antwort

2

Es bezieht sich auf die Substitution Konzept der Lambda-Kalkül. Aus praktischer Sicht ist es ein Ersatz von freien Variablen durch begrenzte. Für eine formalere Definition können Sie die Theorie des Lambda-Kalküls betrachten.

+0

Vielen Dank für die wertvollen Einblicke. Ich lese meistens Pierces Buch über Typen, also habe ich ein Grundverständnis für λ-Kalkül. Was mir nicht klar ist, was bedeutet Variable in diesem Fall? Was kann eine Variable sein? Jeder Typ? Irgendein Typkonstruktor? Betonarten? Höher verwandte Arten? – jhegedus

+0

Ich verstehe nicht ganz, was Sie meinen, indem Sie sagen: Freie Variablen durch begrenzte ersetzen? Soweit ich weiß, tritt Substitution in λ-Kalkül auf, wenn ein Term auf einen anderen Term, d. H. XY, angewendet wird. In diesem Fall wird ein Formalparameter in X (eine gebundene Variable) durch den tatsächlichen Parameter Y ersetzt, der selbst freie Variablen enthalten könnte. Ich denke nicht, dass freie Variablen während der Anwendung durch etwas ersetzt werden (was durch Substitution erfolgt). – jhegedus

Verwandte Themen