I noted that comma cannot be part of the symbol; it appears identifier
x,y
is understood like it is the sequence of three symbols
x , y
Is it intentional?
Yes, it is intentional. The comma is a newlisp idiom for establishing local variables in a function:
(define (foo param , a b c)
;; here, a, b, and c are nil
(println "Hello world"))
From the manual
Quote
Some of the example programs contain functions that use a comma to separate the parameters into two groups. This is not a special syntax of newLISP, but rather a visual trick. The comma is a symbol just like any other symbol.
It is a symbol and may be set, but the comma is recognized individually by the parser and is not a valid character in other symbols.