Email or username:

Password:

Forgot your password?
Top-level
blake shaw 🇵🇸

@akater
I did it y'all. I turned #scheme into a proper #lisp

(we already have defmacro, loop [ala (let loop () ...)], defmethod (as define-method), defun is simple function definitions iirc, so all is thats left is unwind-protect, which trivially defined using dynamic-wind)

1 comment
akater
@rml You can't turn something into Lisp according to the criterion above just by writing some definitions: if you just wrote them, they obviously are not used in practice.

Besides, no matter how you try to implement defun in Scheme, it won't do what it does in CL: no separate function namespace. unwind-protect is not the same as dynamic-wind. “let loop” is not the same as CL's loop. defmacro is discouraged (but yeah, some Scheme implementations offer it under the table anyway because Scheme's own approach to macros misses the point of Lisp macros, and users want Lisp macros).
@rml You can't turn something into Lisp according to the criterion above just by writing some definitions: if you just wrote them, they obviously are not used in practice.

Besides, no matter how you try to implement defun in Scheme, it won't do what it does in CL: no separate function namespace. unwind-protect is not the same as dynamic-wind. “let loop” is not the same as CL's loop. defmacro is discouraged...
Go Up