Email or username:

Password:

Forgot your password?
Devine Lu Linvega

I've collected a bit of documentation for the lexically scoped, purely functional subset of Lisp(sometimes called Pure Lisp?) with a focus on its implementation on the SECD runtime.
wiki.xxiivv.com/site/lisp

11 comments
C.B.Leslie

@neauoire but can we talk about that hat? Cause it's super cool.

C.B.Leslie

@neauoire so that hat is great because it keeps the sun off while providing awesome ventilation. Truly a great summer hat.

Devine Lu Linvega

@nasser I have one of those VOGUE covers for every language documented on the wiki ;)

Ed Davies

@neauoire What's the difference between:

>

(QUOTE 12)

and just:

>

12

In my little Lisp, which is AFAIK, compatible with more-standard Lisps (like Scheme) in this regard:

>

ed@george:~/projects/sexpr/sexpr$ λ
>> 12
.. 
12
>> (quote 12)
.. 
12
>> '12
.. 
12
>> ''12
.. 
(quote 12)
>> 

Devine Lu Linvega

@edavies 12 will try to find a function with that name, (QUOTE 12) is the value.

Ed Davies

@neauoire That's a big divergence from most Lisps, I think. They only look for a function at the head of a list. Without quote they'd resolve a symbol later in the list to its value but wouldn't try to execute it.

The very first bit of code shown in SICP (so Scheme) is (+ 137 349).

E.g., (MUL (QUOTE 2) (ADD (QUOTE 1) X)) could be more-simply written as (MUL 2 (ADD 1 X)) with the same effect.

Devine Lu Linvega

@edavies yeah for sure, I'm familiar with how lisp and scheme does that. This is quite a bit different. I might write a prelude that changes the compiler to handle this more gracefully, but as defined in Lispkit, pure lisp doesn't have any helpers for that.

Roberto

@neauoire thanks for writing this.
Vogue, the dance, is about miming parens.

Go Up