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

De Bruijn Index notation #7

Open
HalosGhost opened this issue Mar 13, 2019 · 0 comments
Open

De Bruijn Index notation #7

HalosGhost opened this issue Mar 13, 2019 · 0 comments

Comments

@HalosGhost
Copy link

lci is already incredibly wonderful. But, adding some support for the De Bruijn Index notation could lead to some amazing things. Below is a list of things I would love to see lci be able to do:

  • provide a built-in (but still user-callable) function which would convert a function in Church notation to its De Bruijn Index notation

  • provide a built-in (but still user-callable) function which would convert a function in De Bruijn Index notation to a version of the same function in Church notation

  • provide a built-in (but still user-callable) function which would test two functions for α-equivalence (via De Bruijn index notation)

  • perhaps leveraging the above, it may be possible to replace the final results of β-reducing any term with the first α-equivalent name in the namespace

For example (imagining that the following definition exists in the current namespace: I = \x.x;):

lci> \x.x

I
(0 reductions, 0.00s CPU)

In my opinion, this would be wonderfully useful! Thoughts?

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

No branches or pull requests

1 participant