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.
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:
@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.
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:
PS. It is invalid to criticize a scientist for publishing original research. Instead, publishing original research is a primary activity of scientists.
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! :)
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.
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).
>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.
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 ;-)
> 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.
[1] https://xivilization.net/~marek/binaries/Y.pdf