mlabs-haskell / lambda-buffers

LambdaBuffers toolkit for sharing types and their semantics between different languages
https://mlabs-haskell.github.io/lambda-buffers/
Apache License 2.0
29 stars 0 forks source link

Document LambdaBuffers packages (Prelude and Plutus) #112

Open bladyjoker opened 11 months ago

bladyjoker commented 11 months ago

When implementing runtimes for LB packages (Prelude, Plutus), we need to have a 'language neutral' specification of:

  1. Which opaques types are listed and what do they map to in different languages.
  2. How opaque types support a type class
    • Json encodings
    • PlutusData encodings
    • Equality
  3. How transparent types support a type class via derivation
    • Given a sum/record/prod type how does a Json/PlutusData encoding look like? How is equality performed?

Let's add necessary documentation for this.

I sense that documentation should be associated with an LB package. So it's basically a documentation for the LB package.