> bitte melde mich fuer die email liste an.
Sure! It happened automatically already :)
> : (setq foo 1)
> -> 1
> : (foo)
> Segmentation fault (core dumped)
I understand your worries, but this is actually a "feature".
In general, PicoLisp doesn't catch such errors, as this would induce
relatively high runtime overhead, in contrast to their extremely rare
occurrence in production programs.
And, after all, "Segmentation fault" *is* an error message, generated by
the hardware, isn't it? And you test your program at least once, don't
Setting a symbol to a number (like '1' above) is perfectly legal. And
"calling" a symbol with a numeric value means to call an internal
function (i.e. a function pointer). However, at memory location '1'
there is probably no function, but the interpreter cannot know this.
To avoid potential dangers like the one above, where a variable is
called as a function, PicoLisp recommends strongly to adhere to certain
You would use 'Foo' for locally bound symbols, and 'foo' for a global
symbol (what a function typically is), and have no problem.
Perhaps the FAQ
should elaborate more on that?