Ressources on building language bindings


This might be a naive question but I was wondering if there were any resources on how to get started building language bindings for dhall for another language. I’m asking this as somebody who has great interest in how languages get built and how type systems work (aka the will to learn) but without any practical experience in either space beyond reading the superficial blog post here and there.

I’m aware that various bindings already exist:

  • go
  • rust
  • etc

I’m also aware of the “Dhall Acceptance Tests” in the main repository.

Now I could read through the source of the various existing bindings and dig into the acceptance tests - and this is certainly something I will do, if I go forward with this - but I wonder if there is a list of resources which go over the basics, before I have to piece together everything from existing source code. A “Getting Started” if you may.

I’m looking forward to your answers!


@wolf: The closest thing we have is the standard:

… but the main thing missing from that is an explanation of how to translate natural deduction notation to code. So one of the things I’ve been working on is turn the standard into literate Haskell code to help people along (and also rework the standard to use a more efficient evaluator).

This is the relevant issue:

… and if you look at the sample branch linked from that issue you can see some example code showing how to translate natural deduction to Haskell code: