It is a minor inconvenience, because you need a space before the '{' when using as a string limiter, but it lets you use them inside variable names. Note that the { } work different from the normal quotes, they don't do escape character processing and this way you can have quotes " inside strings without escaping them.
Lutz
ps: I am traveling the next few days and will not be as frequent as usual on the discussion board.
Note that the { } work different from the normal quotes, they don't do escape character processing and this way you can have quotes " inside strings without escaping them.
That's what I like. It allows us neobooker to embed neobook code inside newLISP code without use of any syntax differences. Very nice.
... but it lets you use them inside variable names.
I would never use them there, but maybe a matter of taste. I have no problem when it stays as it is.
> (println{hello})
invalid function : (println{hello})
> (println42)
invalid function : (println42)
to work (regardless of the existing non-parallelism, i.e. one can print something with other types of values slammed up against the 'println'). In short, just type the bleedin' space in there! :-) Cheers!
My reasoning was: don't put much constaint on what a legal symbol is. Some people like doing things like defining *2 (times two) etc. So it is accepted that in many instances there has to be a space to separate syntactic elements.