-
Notifications
You must be signed in to change notification settings - Fork 10
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
2.0.0 API changes #19
Comments
These are some great points! I'll start working on the first three. My current 2.0 branch is 2.0-fix (2.0.0 became a bit messy). |
I'm done with |
Thank you for the changes. I'm not quite sure how the |
After your last change the encoding features are no longer needed; now I'm wondering about the following potential changes and I'd like to hear your opinion on them:
|
Nice, I like the direction of these.
|
|
I re-visited the reduction module and actually In other news, I'm working on introducing the Stump-Fu encoding, also known as the embedded-iterators encoding, but I'm still very open to more 2.0 API changes. |
I agree with removing Interesting, I hadn't heard of that before. Lots of useful info in that paper! |
Actually I'll sleep on it; maybe you have an idea how this could be improved? |
So right now we have:
I think we can cut this down to:
Calling |
The counting version of I did some tweaking and the current state is as follows:
I agree that keeping the As for |
Some thoughts on API changes that might be nice to have in version 2.0.0; I'm happy to implement some or all of these.
compare
should return a data structure containing the reduction counts instead of writing to stdout. This data structure could have aDebug
and/orDisplay
implementation that returns a String that is the same as whatcompare
currently prints.beta
. This would probably require splittingbeta
into two functions,beta
(which returns the reducedTerm
) andbeta_verbose
(which returns the reducedTerm
and reduction steps).church
andscott
modules at the same time; the only functionality in those modules that needs to be hidden behindfeature
gates are theFrom
implementations, as they conflict with each other. There are several ways to achieve this, one way would be to add functions liketo_church_int
andto_scott_int
which can be compiled together, then just modify theFrom
implementations to call these.Some other non-breaking features that I think would be nice to have, not necessarily in 2.0.0:
is_supercombinator
onTerm
that checks whether a lambda term is a supercombinator, i.e. just a depth-first search to check all theVar
s.The text was updated successfully, but these errors were encountered: