
After reading the paper "Pattern Guards and Transformational Patterns" by Martin Erwig and Simon Peyton Jones, I'm left wondering about the status of transformational patterns? Can we expect to see these at some point in GHC? Or have they gone by the wayside in favor of some other alternative? When I had finished reading the paper, I was disappointed to find out that they were not implemented as I was convinced of the merits based on the arguments presented in the paper. Thanks, Pete [1] http://research.microsoft.com/~simonpj/Papers/pat.htm

| After reading the paper "Pattern Guards and Transformational Patterns" | by Martin Erwig and Simon Peyton Jones, I'm left wondering about the | status of transformational patterns? Can we expect to see these at | some point in GHC? Or have they gone by the wayside in favor of some | other alternative? | | When I had finished reading the paper, I was disappointed to find out | that they were not implemented as I was convinced of the merits based | on the arguments presented in the paper. We have no immediate plans to add views or transformational patterns to GHC. Why not? a) we already have pattern guards http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.htm l#pattern-guards which do part of the job b) in any language, there is a trade-off between complexity and expressiveness. It's not immediately clear which side of the line views lie. c) there are a number of alternative designs, and no clear winner Having said that, I think one can make a strong case that some form of views support is essential to allow abstraction, and that views should therefore have direct support. Indeed, it's on the table for Haskell Prime http://hackage.haskell.org/trac/haskell-prime/wiki/Views It would be a Good Thing, I believe, if those interested in views and/or transformational patterns could use the above Wiki to record the various possible designs, and try to converge on one. Then it might be an interesting intern project to implement it: http://hackage.haskell.org/trac/ghc/wiki/Internships Simon
participants (2)
-
Pete Kazmier
-
Simon Peyton-Jones