Hackett – A Haskell-like language with support for Racket’s macro system
github.com
github.com
> Due to the way Hackett is implemented, many things that are language features in Haskell can be derived concepts in Hackett. In fact, Hackett’s ADTs are not primitives, they are actually implemented as a library via the data and case macros
I know enough Haskell to know that many of the macros I would use in scheme aren't necessary, but it is not like the good parts of compile time code generation are completely negated.
As a user of Template Haskell functions you will mostly complain about the slow compilation time, the jarring syntax, poor documentation (since so much of Haskell documentation relies on types) and the error messages when you do something wrong.
It would be amazing to see Hackett implemented in miniKanren, I think that would really bring us a big step closer to "compiler as a conversation" sort of programming. The combination of relational evaluation and the Haskell type system should be really powerful.
could you elaborate on this concept?