Hi. Thinking that better later than never, I’d like to share the link to the project I worked on a year ago. It is a Haskell binding to TVM FFI and a EDSL. It worked at the moment of its last update.
Currently, I have no plans of maintaining it.
The project consists of two parts: Low-level part which could translate TVM tensors into Haskell lists, and High-level part which defines Hasekll DSL for writing expressions. If I remember correctly, those expressions produce C++ code, compile .so with GCC and run it by dlopening and calling functions.
The EDSL syntax is demonstrated in tests like https://github.com/grwlf/htvm/blob/master/test/Main.hs#L555 (note, it supported an early version of Autodiff)