4 ms·
"My first priority with Arc right now is the core language--those operators that are neither primitives like car and cdr, nor special-purpose library functions.
by Hexstream 19y ago
"My first priority with Arc right now is the core language--those operators that are neither primitives like car and cdr, nor special-purpose library functions. I mean operators like CL's mapcar, let, remove-if-not, and so on."
let is a special form (at least in CL) so it's a primitive, no?...
- pg 19y agoThat's funny. I forgot let is a special form in CL. It doesn't really need to be, and it isn't in Arc. (mac with (parms . body) `((fn ,(map1 car (pair parms)) ,@body) ,@(map1 cadr (pair parms)))) (mac let (var val . body) `(with (,var ,val) ,@body))
- icky 19y agoYou can define let in terms of lambda. (let ((x 99)) (foo x)) can expand to: ((lambda (x) (foo x)) 99)