Hi Tomas,

thanks for the input!

I think you take this matter too seriously. The core of the problem is
simply a 50-years-old fault in the Lisp syntax: The "dot" notation is
written with a dot, but it is desirable to use the dot also in atoms
(most notably in numbers). A better design would have been to use some
other meta character, e.g. the vertical slash as in other languages. A
"dotted" pair would then look like (a | b)

Besides this, I think the situation in PicoLisp is clear and well-
defined: The dot is allowed as _part_ of a symbol name, but _not_ as a
symbol name per se. A stand-alone dot is a meta character.

This is also mentioned in "doc/ref.html" in the "Internal Symbols"

   The dot '.' has a dual nature. It is a meta character when standing
   alone, denoting a dotted pair, but can otherwise be used in symbol

Thus, in a dotted pair, it must be surrounded by delimiters (this is a
fix I introduced recently because of your (correct) criticism).

In all other situations (allowing the dot as a stand-alone symbol) you
will always create confusion.

> ... <examples proving my statement omitted>
> : '(. . 1 . 2)
> (\. . 1) -- Bad dotted pair
> ? -> 2
> ...

> : (quote . (1 2 3 . 4 . 5))
> -> (1 2 3 . 5)
> : (quote . (1 2 3 . 4 . 5 . 6 .))
> -> (1 2 3 .)
> Does such a behaviour make more sense to others to?

I think this makes things worse. Should a dot in these examples be a
single-dot-symbol, or does it mark a dotted pair? I would always prefer
to get an error here.

Other opinions?

- Alex
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to