Syntax for Definition and Use Sites
Currently, we have the following syntax:
Foo(x, y, z): defines NS1 x refers to NS2 y (otherwise refers to NS2 y) refers to NS3 zWhile one can argue that the whole term
Foo(x, y, z)really definesx, it does not refer toyandz. Actually,yandzthemselves are the references.Thus, would be the following syntax more precise?
Submitted by Guido Wachsmuth on 8 March 2013 at 16:14Foo(x, y, z): x defines NS1 y refers to NS2 (otherwise to NS3) z refers to NS3
Issue Log
That would indeed be more precise. Some students during the CC lab were confused by the refers to thing.
Just a bunch of examples
Class(name, super, body) :
defines Class name
imports Field from Class superClass(name, super, body) :
defines Class name
refers to Class superType(x):
refers to Class xVarDef(x, t, e):
defines Variable x of type t in subsequent scopeVar(x):
refers to Variable xLet(bindings, e) :
imports Variable from bindings into eLetBind(x, e) :
defines Variable x in subsequent scopeLetRec(bindings, e) :
imports Variable from bindings into eLetRecBind(x, e) :
defines Variable x in current scopeConclusion: we stick with the SLE 2012 syntax.
Log in to post comments