I’m working on yet another experimental language and would like to use OCaml to implement it. I noticed Haskell has unbound, a library that automatically gives you functions for term equivalence, free variable calculation, and substitution. Is there something similar for OCaml?
François Pottier recently proposed an approach based upon his visitors ppx and further developments but it’s not officially released AFAIK.
François Pottier. Visitors unchained. In Proceedings of the 2017 ACM SIGPLAN International Conference on Functional Programming (ICFP 2017), September 2017.
Here’s another library which does this.
Interesting: can you describe here the main features of this library?
What sort of terms can you easily handle with it?