lambda-buffers
lambda-buffers copied to clipboard
LambdaBuffers toolkit for sharing types and their semantics between different languages
In Plutarch the general consensus is that we perform Eq by simply delegating to the underling PlutusData representation. ```haskell instance PEq FooTrivial where (#==) = \l r -> pdata l...
I modified the testsuite to include this kind of dependency: `lbf-plutus-golden-api` depends on `lbf-plutus-golden-api-days` It looks like both TypeScript and Rust don't handle this use case.
## Sample ``` record ScriptDatum s = { scriptType : s, -- ^ Protocol specific script type stored in this UTxO redeemer : AssetClass -- ^ Wallet containing `$redeemer` must...
What do you think? I find that I need those quite often.
What is PlutusData (toData and fromData) meaning for all Prelude types? https://github.com/mlabs-haskell/lambda-buffers/blob/26adebd13cb97900cec7fe66cb1dd11977ba77ed/libs/lbf-plutus/Plutus/V1.lbf#L15 ``` -- Instances for Prelude types -- TODO(bladyjoker): Add other Prelude types (Text, Bytes etc.)? instance PlutusData Bool...
Currently, Haskell and Purescript backends handle foreign LB references without considering the package they are in. This is something the Codegen can't decide and has to be provided by the...
https://github.com/mlabs-haskell/lambda-buffers/blob/f5acbc09718191cdfbf374ee5aaeacf626b8b9e9/runtimes/haskell/lbr-prelude/src/LambdaBuffers/Runtime/Prelude/Json.hs#L140 ``` sum X = Y | Z derive Json X record Test = { test : Map X Integer } derive Json Test ``` The generated code will break...
This is sorely needed and the absence of this is making containers relying on order of values to be barely useful (one needs to pass around orphan instance implementations). TODO:...
Currently: https://github.com/mlabs-haskell/lambda-buffers/blob/f5acbc09718191cdfbf374ee5aaeacf626b8b9e9/lambda-buffers-codegen/data/rust-plutus-pla.json#L152C5-L156C7 But should point to https://github.com/mlabs-haskell/plutus-ledger-api-rust/blob/4b2660648f194647fdc17ecb793ee776f07d7df7/plutus-ledger-api/src/v1/assoc_map.rs#L15 Which is canonically https://github.com/IntersectMBO/plutus/blob/master/plutus-tx/src/PlutusTx/Data/AssocMap.hs How does this pass the test?
LambdaBuffers should adopt a versioning scheme for the lbf schemas, frontend/compiled, codegen modules, runtime libraries, and the Nix packaging tools. TODO: - [ ] Settle on a versioning scheme and...