[Haskell-cafe] Looking for a paper [Dijkstra-Dot]

Michael Orlitzky michael at orlitzky.com
Fri Jun 5 11:43:40 UTC 2020

On 6/5/20 7:05 AM, Anthony Clayden wrote:
> Hi Michael, I apologise if I'm being dumb, but that ewd.pdf is not a
> 'publication' and is not by Dijkstra, right?


> It's taking some of the ideas from Dijkstra's EWD1300, but misapplying
> them to Haskell in a rather badly-informed way.

I wouldn't say so, for reasons explained below.

> After all, Haskell already has a 'Application Operator' spelled ($),
> which is perfectly first-class and with which you can do the equational
> reasoning (with lambdas) that the doco is talking about.

The thread that I was recalling (Language complexity & beginners) can be
found here,


and it started as a discussion about the use of ($) for function
application. Namely, what should its type be? Whatever you answer is
going to be wrong. The root of that problem is that ($) is itself a
function, and you can't insist on using a function to apply function
application without risk of severe injury. So the only way to even use
($) is via the true function application syntax, namely whitespace.

But whitespace as function application syntax has its own problems. So
we want something like ($), but we want it to be *syntax*, and it should
take the place of " " rather than supplement it. That's the argument
those guys (and the paper Ben suggested) are trying to make.

> Also it doesn't seem to know Haskellers very well; nor Dijkstra's
> well-known support for Haskell in education.
> There's other bits and pieces of 'Publications' on that the-magus site;
> including spoofs of Dijkstra which can't even spell his first name
> right. I rather suspect the ewd.pdf is a spoof that didn't turn out very
> funny. So altogether it's a couple of dudes shooting the breeze.

These all seem pretty irrelevant to the point being made, which I think
has merit. This is all just a language design curiosity to me, though,
and I'm not looking to start a new religious war until some of the
present ones are resolved.

More information about the Haskell-Cafe mailing list