(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)
@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...
never came across this before, but looks like @civodul added it back in 2014