5 Commits

Author SHA1 Message Date
George Thomas
13b9324bc4 Simplify use sites by passing by value 2026-02-19 16:29:52 +00:00
George Thomas
5f1e49c4ce Use ByteString 2026-02-19 16:29:52 +00:00
George Thomas
7e09c1d681 Add more complex data types 2026-02-19 16:29:52 +00:00
George Thomas
0a1911862f Expose explicit C interface
We drop the tools specifically designed for Haskell and Rust together, in favour of general tools for using each with C.

Namely, we use Mozilla's `cbindgen` for generating header files from the Rust source, and Well-Typed's new `hs-bindgen` tool for generating Haskell from those header files.

The Rust code here is essentially the result of expanding the old macro, then inlining and renaming internals.

The most important thing here is that we're now relying solely on robust well-maintained tools.
2026-02-19 16:29:41 +00:00
George Thomas
60f5f23b2d Move Haskell executable in to subdirectory 2026-02-19 13:57:14 +00:00