In gsc:
> (define +1 'a)
*** ERROR IN (console)(a)1.9 -- Identifier expected
> (define -1 'a)
*** ERROR IN (console)(a)2.9 -- Identifier expected
> (define 1+ 'a)
> (let ((+1 #t)) #t)
*** ERROR IN (console)(a)4.8 -- Identifier expected
In BH:
(define (+1) #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string 1)
> (define (-1) #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string -1)
> (define (1+) #t)
> (define (*1) #t)
> (define (%1) #t)
> (define +1 #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string 1)
> (define -1 #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string -1)
> (define + #t)
> (define - #t)
> (define -5 #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string -5)
> (define +a #t)
> (define -a #t)
> (let ((+1 #t)) #t)
*** ERROR IN ##main -- (Argument 1) SYMBOL expected
(symbol->string 1)
> (let ((+ #t)) #t)
#t
Why?
Mikael