
I'd prefer "idiom brackets" over something do-ish for Applicatives.
Conor McBride's SHE already supports them, if you're willing to use a
custom preprocessor.
On Fri, Oct 9, 2009 at 1:45 PM, Joe Fredette
The only issue I would have with such a notation is not being able to visually tell the difference between a monadic function (say, without a explicit type sig, which is how I write parsers), and an applicative one.
I'd prefer something like
foo = app blah blah
If only for some visual distinction, I think it also resolves the "do knowing about types" issue.
Plus, this is a good case for some kind of custom-do syntax facility. So we could make do syntax for everything. :)
/Joe
On Oct 9, 2009, at 1:11 PM, 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".
Your overloading suggestion sounds to me like it would require the desugaring process to know something about types, but I'm not sure.
Bob
-- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe