Code: Select all

```
> (first (lambda (x y) (+ x y)))
lambda
> (first (fn (x y) (+ x y)))
fn
> 'lambda
lambda
> 'fn
fn
> (cons 'fn '((x y) (+ x y)))
(fn (x y) (+ x y))
```

Why could not quote *lambda* and *fn*?

I think first lambda expression should is 'lambda:

Why newLISP use args as first elements of lambda expression?

Why could not quote *lambda* and *fn*?

Code: Select all

```
> (first (lambda (x y) (+ x y)))
lambda
> (first (fn (x y) (+ x y)))
fn
> 'lambda
lambda
> 'fn
fn
> (cons 'fn '((x y) (+ x y)))
(fn (x y) (+ x y))
```

Why could not quote *lambda* and *fn*?

ssqq wrote:I think first lambda expression should is 'lambda:

Why newLISP use args as first elements of lambda expression?Code: Select all

`> (first (lambda (x y) (+ x y))) lambda > (first (fn (x y) (+ x y))) fn > 'lambda lambda > 'fn fn > (cons 'fn '((x y) (+ x y))) (fn (x y) (+ x y))`

Why could not quote *lambda* and *fn*?

Code: Select all

```
> (set 'li (cons '(x y) (cons '(+ x y) '())))
((x y) (+ x y))
> (first li)
(x y)
> (set 'la (cons '(x y) (cons '(+ x y) '(lambda))))
(lambda (x y) (+ x y))
> (first la)
(x y)
>
```

But only the

Code: Select all

```
> (li 3 4)
ERR: invalid list index
> (la 3 4)
7
>
```

... The fn or lambda word does not exist on its own as a symbol, but indicates a special list type: the lambda list. ...