2009-12-28

type.indicator vs return.indicator

9.23: mis.adda/syntax/type.indicator vs return.indicator:
. the syntax (x.t) is supposed to say either x returns a value of type"t,
but there are types that don't return anything, eg,
(x.proc) means x is a proc, not returning a proc .
solved:
. let syntax"{ f.(x).y, f(x).y } mean a function;
ie, that it returns an object of type"y .
[9.28: not quite solved:
. suppose f(x).proc;
is that returning a proc, or just being a proc ?
. that is,
rather than f(x).y saying the function is returning type"y,
it says that f is type"y
and then if type"y is a value-type,
then it means f will be returning a value of that type .

[9.28:
. see adda/declaring externals with double angle-brackets
where proc.type could mean double angle-brackets with "(all)
-- declaring external accesses,
and "(all) means it can access any externals wo specifying which .
9.29:
. that would be useful when the routine is nested (ie, a private subroutine),
and it's available externals are restricted to those of the
enclosing routine's locals and it's declared externals .
]