Wed Feb 5 07:37:03 EST 2020

Post to haskell cafe

Is there currently a consensus on what is the best way to embed a pure
dataflow language while keeping control over value sharing?

I have a stream processing language that has a monadic interface (a ->
b -> m c) to track variable sharing so it can compile down to C or
Verilog, but I would like to create an expression interface layer on
top (s a -> s b -> s c) that still allows me to recover the underlying
monad representation to implement sharing.  I got used to writing in
monadic form but I really can't sell this to EEs...

Other than a TH or syntax frontend, unsafe tricks, or Conal's
compiling to categories which requires a plugin (I believe), is there
another way?