
The Y Combinator - ecopoesis
https://mvanier.livejournal.com/2897.html
======
truncate
This remind of the best material in my opinion to understand the Y combinator,
"(Y Y) Works! by Matthias Felleisen and Dan Friedman"[1]. Its very light read
IMO, and highly recommended.

[1]
[https://xivilization.net/~marek/binaries/Y.pdf](https://xivilization.net/~marek/binaries/Y.pdf)

------
ProfHewitt
Unfortunately, the Y Combinator does __not __work for Actor programs, which
can implement non-deterministic procedures that cannot be implemented in the
non-deterministic lambda calculus. For further information, see the following:

[https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003)

~~~
jqgatsby
@ProfHewitt, I have to say I think you did a lot of people (including myself)
a disservice by polluting Wikipedia with promotions of your original research
on the Actor model of computation.

Modelling concurrent computation is not the place for an intellectual "land
grab"; if your work has value, I think it's time to let other people promote
it for you.

~~~
ProfHewitt
Personal attacks have _no_ place on Hacker News!

Please confine your remarks to substantive issues.

Hacker News is _not_ a popularity contest.

BTW. Wikipedia suffers many of the same bugs as other Internet Social Media. I
started the Wikipedia article on the Actor Model. Unfortunately, the article
is now _extremely_ obsolete because of Wikipedia censorship. See the following
for current information:

[https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003)

PS. It is invalid to criticize a scientist for publishing original research.
Instead, publishing original research is a primary activity of scientists.

------
PStamatiou
This gets posted at least once a year now :D
[https://news.ycombinator.com/from?site=mvanier.livejournal.c...](https://news.ycombinator.com/from?site=mvanier.livejournal.com)

~~~
jdc
Somewhat tangential: I just clicked the "past" link assuming it would show
similar results to the page you linked and man was I ever wrong! It doesn't
search for the exact phrase, so many unrelated stories flood the results. But
this does mean that low-hanging fruit are within reach: all our tireless
admins would have to do is add double-quotation marks around the search query!
:)

~~~
dang
This particular title matches a lot of stories for obvious reasons. I'm not
sure exact-querying would be better in general.

------
selimthegrim
Mike taught the intro CS course at Caltech using SICP (at least when I took
it). It’s cool to see his name pop up here and there still.

------
ProfHewitt
Does anyone happen to know where is there an article on the (non)existence of
the Y combinator typed using recursive parameterized types?

------
Hitton
I really didn't expect this sort of Y Combinator, especially on this page.
Still very interesting read, because I didn't know it before and at the same
time it shed a bit of light on naming of this company.

------
azinman2
But... Y?

~~~
proc0
because f Y f.

~~~
JadeNB
f (Y f), surely ….

~~~
reificator
To quote the article:

> _(I 'm using a function notation without parentheses here, so factorial 3 is
> the same as what is usually written as factorial(3). Humor me.)_

~~~
JadeNB
Sure, I am fine with that (else I would have proposed the abysmal `f(Y(f))`);
but `f Y f` suffers from the ambiguity of `f (Y f)` versus `(f Y) f`, and, at
least from my familiarity with Haskell, I automatically parse it as the latter
(which I am guessing was not what proc0 intended).

~~~
reificator
I just thought it would be funny to quote the article there, I'm not too hung
up on which representation is used.

------
fouc
>I think we can similarly use knowledge of the Y combinator as a dividing line
between programmers who are "functionally literate" (i.e. have a reasonably
deep knowledge of functional programming) and those who aren't. There are
other topics that could serve just as well as Y (notably monads), but Y will
do nicely. So if you aspire to have the True Lambda-Nature, read on.

~~~
ProfHewitt
Unfortunately, the article leaves out types, which are an even more important
topic for a "literate" programmer.

The recursive definition of Y can easily be adapted to be strongly typed.
However, there is _no_ strongly typed Y combinator without self-applicable
recursively defined types. Consequently, the Y combinator is not something
that needs to concern a competent programmer, who will of course be using
strong types ;-)

~~~
reificator
> _Consequently, the Y combinator is not something that needs to concern a
> competent programmer, who will of course be using strong types ;-)_

A competent programmer selects their tools based on multiple metrics, which
can include meta metrics like popularity (size of hiring pool) as well as
external constraints such as a predetermined platform or interoperability with
an existing system.

~~~
ProfHewitt
Competent programmers compensate as best they can when using weaker tool
chains, such as those lacking strong types.

~~~
reificator
I don't disagree.

