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

amindfv at gmail.com amindfv at gmail.com
Mon Jun 8 14:07:18 UTC 2020

Haskell's reputation as a welcoming community is on shakier ground than it was a few years ago, and phrases like "despite your endless ranting" work against the collegial atmosphere we're proud of.

No need to be faux polite, but when people (wrongly, in my opinion) describe us as an unwelcoming community, this is the type of convo I imagine them having come across and been scared off by.


El 7 jun 2020, a las 11:42, Ben Franksen <ben.franksen at online.de> escribió:

>> Well, don't look for pointers to language design from the couple of
>> jokers portrayed in that pdf.
>> I find it actually insulting to the good sense the real Dijkstra
>> always showed; and insulting to Haskellers -- what's with all this
>> gratuitous imputing of emotion? What's with just getting Haskell
>> wrong? It's easy to check those claims; it's easy to get the (alleged)
>> 'thought' peer-reviewed from the Haskell community.
> Who is insulting and emotional here?
> I really don't get why you're so upset about this harmless opinionated
> piece that, in a humorous and obviously exaggerated way, applies some of
> Dijkstra's ideas about programming language syntax to Haskell
> ("notational conventions" is just an informal synonym for syntax.)
> Putting these words into Dijkstra's mouth is just an artist's freedom,
> and in fact it gave me pause to think about the issues raised. (That was
> along time ago, BTW).
> Despite your endless ranting the authors quite obviously do understand
> EWD1300. Their use of the word "first-class" may drive the rhetoric a
> bit over the top but that's pretty superficial IMO. The main point is
> that in a language like Haskell whitespace is overloaded: it can mean
> application or it can be a mere separator; which it is depends on the
> context. If Haskell /required/ the use of an explicit built-in infix
> operator for application then this context-dependency would disappear
> and white space would become only a separator. It is valid to argue that
> this would make the language esier to read. This has nothing to do with
> the fact that in Haskell you onbviously /can/ define infix application
> operator. (The argument about the type of application is bogus, though,
> I agree with you on that one.)
> I also don't see how this has anything to do with Dijkstra promoting
> Haskell for teaching. In fact, I find it much less insulting to suggest
> that Dijkstra would have things to criticise about Haskell (he /was/
> very much a perfectionist and if I can enumerate several shortcomings in
> Haskell off the top of my head, then so I guess he could have), than to
> suggest that this would be a reason for him to oppose using Haskell for
> teaching! I would venture that Dijkstra was realist enough to prefer
> something imperfect when it clearly trumps the competition.
> That said, he did write in one of his EWDs that beginners(!) should be
> tought programming with a language that does /not/ have an
> implementation available, in order to enourage thinking denotationally
> about programs rather than operationally, right from the start. The
> reason he preferred an imperative language for such a beginner's course
> (and also for communicating algorithms) is that recursion has a more
> complicated semantics (in terms of weakest preconditions) than his 'do'
> loop construct. This is important if, like Dijkstra did, you introduce
> every language construct by formally stating its denotational semantics,
> playing down the operational aspect as much as possible.
> Cheers
> Ben
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

More information about the Haskell-Cafe mailing list