>From: Simon Peyton-Jones <[email protected]> >Sent: Mon, October 18, 2010 5:02:57 PM > >Folks > >Following lots of feedback from users, especially at ICFP, I’ve evolved some >proposals for Template Haskell, that should make it both more expressive, and >more secure. > >http://hackage.haskell.org/trac/ghc/blog/Template%20Haskell%20Proposal > >Do let me know what you think. Discussion by email is fine (cc me if it’s on >Haskell-cafe), or comments direct on the Trac.
A and B are both excellent ideas. Less typechecking makes it easier to provide sugar for operations that cannot be expressed nicely in the current type system, and also to experiment with syntax. One example is $(tmap 'Con [| [a, b, c, d] |]) => [Con a, Con b, Con c, Con d] Another would be experimenting with monadic-case syntax by making a macro that rewrites top-level case statements in a quoted do block. Case B starts to provide the sorts of static guarantees that begin to justify (by using the result) the restrictions imposed by typechecking splices ahead of time. In D, adding a parseHaskell quasiquoter is an excellent idea. This should be the proper fixpoint including all the current quasiquoters. That might be easier to implement if the Haskell parser is passed as an argument to the quasiquoters, rather than exposed as a binding in a module. Brandon _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
