Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preload list combinators into the environment #5

Open
mwatts15 opened this issue Oct 29, 2012 · 3 comments
Open

Preload list combinators into the environment #5

mwatts15 opened this issue Oct 29, 2012 · 3 comments

Comments

@mwatts15
Copy link
Owner

No description provided.

@cvidal
Copy link

cvidal commented Oct 30, 2012

Once combinators are added, list combinators are trivial to implement. I'll take this one.

@ghost ghost assigned cvidal Oct 30, 2012
@cvidal
Copy link

cvidal commented Nov 28, 2012

Didn't progress on this issue before since currying didn't work completely at the time. If that works now, this should be pretty simple. Issue #22 should be equally simple.

@tvarney
Copy link
Collaborator

tvarney commented Nov 28, 2012

Currying is implemented on the master branch. The interpreter will perform substitution of arguments when they are supplied, but will not attempt to reduce the function in any way. You can see the results by giving the interpreter any incomplete function; for example:

(+ 3)

results in the partial function:

(\ (_i?0!_) (+ 3 _i?0!_))

The messy _i?0!_ thing is the automatic variable name. I went for needlessly complex and messy to reduce name conflicts with lambdas, since a lambda can define variable names like that.

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

No branches or pull requests

3 participants