Boost logo

Boost :

Subject: Re: [boost] De Bruijn Bind (alternate bind syntax) Interest?
From: Larry Evans (cppljevans_at_[hidden])
Date: 2010-09-02 13:24:37


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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk