Re: [racket-users] Y combinator

2018-01-13 Thread Jason Hemann
I find this

(now dead, but archived) blog post on Y both well paced and approachable.

http://mvanier.livejournal.com/2897.html


The post's author considers it to be a massively expanded version of Ch 9
from *TLT/TLS.*

I have also suggested Yin Wang's slides on Reinventing the Y-Combinator
, which
you might find you enjoy.

Best,

JBH



On Sat, Jan 13, 2018 at 11:57 AM, Matthias Felleisen 
wrote:

>
> > On Jan 13, 2018, at 11:53 AM, Hendrik Boom 
> wrote:
> >
> > On Sat, Jan 13, 2018 at 08:14:30AM -0800, Zelphir Kaltstahl wrote:
> >>
> >> Anyway, I hope to understand how the Y-combinator works with the help of
> >> "The Little Schemer", which I am reading currently. I am not at that
> >> chapter yet. I am taking my time, first thinking through the stuff and
> >> later typing it into the machine and thinking about it again, sometimes
> >> noticing some detail when I type the code and sometimes making a little
> >> experiment with that code. Already on my way through "The Little
> Schemer" I
> >> hit some useful procedures, which helped me with a totally unrelated
> >> problem when coding my blog in Racket. So it's definitely useful.
> >
> > The Y combinator comes from the original lambda calculus, which was a
> > formal system for computational logic and it elicidated how bound and
> > free variables work.
> >
> > But the system had no built-in mechanism for defining a recursive
> > function.
> >
> > Instead, the Y-combinator was invented -- a lamnda expression that
> > enable you to make a recursive function essentially by passing the
> > functiion as an argument to itself.  Receiving itself as a parameter, it
> > was capable of calling its parameter, which was itself.
> >
> > Have fun deciphering the code.  It took me while, too, way back in the
> > 60's.
>
>
> TLL/TLS does not dump the code on the reader. It develops it,
> step by step, w/o any mystery. It is still a serious “reading” exercise
> for most readers and a rather satisfying one I am told. — Matthias
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
JBH

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Y combinator

2018-01-13 Thread Matthias Felleisen

> On Jan 13, 2018, at 11:53 AM, Hendrik Boom  wrote:
> 
> On Sat, Jan 13, 2018 at 08:14:30AM -0800, Zelphir Kaltstahl wrote:
>> 
>> Anyway, I hope to understand how the Y-combinator works with the help of 
>> "The Little Schemer", which I am reading currently. I am not at that 
>> chapter yet. I am taking my time, first thinking through the stuff and 
>> later typing it into the machine and thinking about it again, sometimes 
>> noticing some detail when I type the code and sometimes making a little 
>> experiment with that code. Already on my way through "The Little Schemer" I 
>> hit some useful procedures, which helped me with a totally unrelated 
>> problem when coding my blog in Racket. So it's definitely useful.
> 
> The Y combinator comes from the original lambda calculus, which was a 
> formal system for computational logic and it elicidated how bound and 
> free variables work.
> 
> But the system had no built-in mechanism for defining a recursive 
> function.
> 
> Instead, the Y-combinator was invented -- a lamnda expression that 
> enable you to make a recursive function essentially by passing the 
> functiion as an argument to itself.  Receiving itself as a parameter, it 
> was capable of calling its parameter, which was itself.
> 
> Have fun deciphering the code.  It took me while, too, way back in the 
> 60's.


TLL/TLS does not dump the code on the reader. It develops it, 
step by step, w/o any mystery. It is still a serious “reading” exercise
for most readers and a rather satisfying one I am told. — Matthias

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Y combinator

2018-01-13 Thread Hendrik Boom
On Sat, Jan 13, 2018 at 08:14:30AM -0800, Zelphir Kaltstahl wrote:
> 
> Anyway, I hope to understand how the Y-combinator works with the help of 
> "The Little Schemer", which I am reading currently. I am not at that 
> chapter yet. I am taking my time, first thinking through the stuff and 
> later typing it into the machine and thinking about it again, sometimes 
> noticing some detail when I type the code and sometimes making a little 
> experiment with that code. Already on my way through "The Little Schemer" I 
> hit some useful procedures, which helped me with a totally unrelated 
> problem when coding my blog in Racket. So it's definitely useful.

The Y combinator comes from the original lambda calculus, which was a 
formal system for computational logic and it elicidated how bound and 
free variables work.

But the system had no built-in mechanism for defining a recursive 
function.

Instead, the Y-combinator was invented -- a lamnda expression that 
enable you to make a recursive function essentially by passing the 
functiion as an argument to itself.  Receiving itself as a parameter, it 
was capable of calling its parameter, which was itself.

Have fun deciphering the code.  It took me while, too, way back in the 
60's.

-- hendrik

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.