[Haskell] View patterns in GHC: Request for feedback
Stefan O'Rear
stefanor at cox.net
Mon Jul 23 10:37:18 EDT 2007
On Mon, Jul 23, 2007 at 05:09:01AM -0400, Dan Licata wrote:
> Hi everyone,
>
> Simon PJ and I are implementing view patterns, a way of pattern matching
> against abstract datatypes, in GHC. Our design is described here:
>
> http://hackage.haskell.org/trac/ghc/wiki/ViewPatterns
>
> If you have any comments or suggestions about this design, we'd love to
> hear them. You can respond to this list (and we can take it to
> haskell-cafe if the thread gets long) or, if you prefer, directly to me.
Great work!
Two comments:
1. It might be better if zenary => used Bool rather than Maybe (). This
would allow existing Bool functions to be used as views; eg:
foo (isUpper =>) = ...
foo ((< 3) =>) = ...
foo (ioErrors => (isEOFError =>)) = ...
2. This does introduce another point of infinite lookahead into the
grammar. Consider (long text... - after seeing the (, we might be
seeing a parenthetized patern (back to pat*) or a expression for a
view guard (go to exp). Won't affect implementations that already
mix the two (Language.Haskell.Parser, thus probably GHC too).
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/haskell/attachments/20070723/fc2c0fac/attachment.bin
More information about the Haskell
mailing list