Skip to content
This repository has been archived by the owner on Sep 9, 2019. It is now read-only.

Better let #21

Open
hellerve opened this issue Nov 23, 2016 · 1 comment
Open

Better let #21

hellerve opened this issue Nov 23, 2016 · 1 comment

Comments

@hellerve
Copy link
Member

let is an integral part of writing code in any Lisp. Sadly, the default tranforms in zepto are clumsy (again, due to poor choices in Scheme), i.e. there are let, let*, letrec, and letrec*, for no good reason whatsoever, because letrec*, possibly with builtin destructuring of values, would be the sane default.

An illustrating example of what the new let should be - minimally - capable of achieving:

(let (((x y . z) (list 1 2 3))
        (m (+ y 10))
        (l (length z)))
  (+ l m))
@hellerve
Copy link
Member Author

There is a unified, pattern-matching implementation of let (not letrec-conformant yet) in the zepto-stdlib branch v0.9.7-new-let.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant