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.
--
fli...@flippac.org
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe