from Hacker News

Domain-Specific Languages and Code Synthesis Using Haskell (2014)

by dodders on 12/28/16, 6:01 PM with 6 comments

  • by conistonwater on 12/28/16, 8:19 PM

    Embedded DSLs in Haskell are really cool, but sentences like these confuse me:

    > The do statement can be reified by normalization.

    ???

    > Control flow is problematic and cannot be used directly, but there is a generalization of Haskell Boolean that does allow deep-embedding capture.

    What does it mean for control flow to be problematic? Control flow is the most basic feature I expect (it's not shift/reset), so what's up with problematic? What does it even mean for something so basic to be problematic?

    For someone unfamiliar with these techniques, it's hard to tell the difference between a nifty trick that makes it possible to make something work at all, like a proof of concept, and a general tool that can be used to solve general problems.