4 ms·
>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
by fouc 7y ago
>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 7y agoUnfortunately, 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 ;-)
- draw_down 7y agoWhat's a strong type?
- reificator 7y ago> 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 7y agoCompetent programmers compensate as best they can when using weaker tool chains, such as those lacking strong types.
- reificator 7y agoI don't disagree.