
On 2016-08-05 11:06, Ben Gamari wrote:
Ryan Scott
writes: Sorry for not including the full context on that link. It's part of a Summer of Haskell 2016 project called Native Metaprogramming in Haskell [1] (a.k.a. Introspective Template Haskell [2]), aiming to fix Trac #11081 [3].
On this note, it would be great to hear a bit about the state of this project. Shayan, have you written anything describing how things are going? It would be great if you could update the Wiki page [2] describing a bit about the approach you have taken and the current state of your implementation.
Just a little aside: AFAICT the idea here was originally to reuse the compiler's internal AST representation. I'd be really interested to hear if that's changed. This compes along with a little cautionary note: The Scala people originally did this for their macro support and it's being abandoned in favor of something called TASTY which is a different (simplified?) representation of the Scala AST. (There were a lot of other problems with the Scala macro implementation which is caused by simply being intimately tied to compiler internals in *other* ways.) Obviously, all of this is AFAIUI and my understanding may not exactly be great, but regardless I think it's worth looking into Scala/TASTY and why the Scala people have (apparently) chosen it as the solution over the existing one. Regards,