[Haskell-cafe] Applicative do?
Philippa Cowderoy
flippa at flippac.org
Fri Oct 9 13:33:58 EDT 2009
Robert Atkey wrote:
> On Fri, 2009-10-09 at 18:06 +0100, Philippa Cowderoy wrote:
>
>
>> This leads us to the bikeshed topic: what's the concrete syntax?
>>
>
> I implemented a simple Camlp4 syntax extension for Ocaml to do this. I
> chose the syntax:
>
> applicatively
> let x = foo
> let y = bar
> in <pure stuff>
>
> I quite like the word "applicatively".
>
>
In an ML context I rather like it! It doesn't really feel haskelly to me
though, partly because code that looks like ANF in Haskell is normally
in a do block and failing that a single let block instead of a series of
nested lets.
> Your overloading suggestion sounds to me like it would require the
> desugaring process to know something about types, but I'm not sure.
>
>
It doesn't the way I've suggested it, whereas doing it perfectly would
do because not all Monads are directly Applicatives. I just reckon the
imperfection isn't too big a burden applied to new code when you can
newtype Monads into Applicatives on demand and get sensible code.
--
flippa at flippac.org
More information about the Haskell-Cafe
mailing list