William Coleda <[EMAIL PROTECTED]> wrote: > But... this isn't actually enforced. You can do: > > .local String foo > foo = new Blorp > > Basically, anything that isn't one of the basic types is interpreted as "pmc".
I think this is misleading. > 1) make > > .local String foo > > (and .sym) equivalent to: > > .local pmc foo > foo = new String That is how I would expect .local to work. > 2) make > > .local String foo > > (and .syn) a compile time error: just allow "pmc". [1] Failing 1), I would support this. > 3) Allow an initializer as part of the declaration: > > .local string foo = ascii:"foo" > > which would be equivalent to > > .local string foo > foo = ascii:"foo" Pretty please? > 4) Have .sym and .local take on different possible syntaxes. I'll vote no. > 5) eliminate one of .sym or .local Definitely. I think we should drop one (.sym). As Will noted the other day on IRC, we're only a 0.1 release, so we don't need to worry about backwards compatibility yet. It's best to get this stuff out while we still can. > 6) avoid using ".local" to mean something different based on context (macro > or not) I'm not sure what you mean. > 7) Add ".lexical".... No firm syntax was discussed for this, but something > like: Sounds good to me. > 8) add ".global"... Similar to #7. Same here. -- matt diephouse http://matt.diephouse.com