
On 09/02/10 10:57, David Sankel wrote:
Hello all,
I've been working on an alternate bind syntax based on De Bruijn indices[1]. The syntax is very simple, yet the terms are very powerful.
Here is an example of a function const that takes in an argument c and returns another function that, for all input, returns c:
//λx.λy.x = λλ1 with De Bruijn indices. auto const_ = abs<1>( abs<1>( var<1,0>() ) );
More examples, further explanation, and an implementation are available here[2].
I'm thinking that this library could also be useful as a core for more syntax heavy bind variations.
David
[1] http://en.wikipedia.org/wiki/De_Bruijn_index [2] http://bitbucket.org/camior/de-bruijn-bind/
I would be very interested. I had been thinking along those same lines. IIRC, I've also seen some haskell code that does that. Here it is: http://www.comlab.ox.ac.uk/richard.bird/online/BirdPaterson99DeBruijn.pdf Might be interesting to try this using functors and monads and other category theory tools.