lambda-buffers icon indicating copy to clipboard operation
lambda-buffers copied to clipboard

Discuss: PlutusData meaning for Prelude types

Open bladyjoker opened this issue 8 months ago • 1 comments

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
instance PlutusData Integer
instance PlutusData (Maybe a) :- PlutusData a
instance PlutusData (List a) :- PlutusData a
instance PlutusData (Either a b) :- PlutusData a, PlutusData b

These are obvious, but we could theoretically define PlutusData for Prelude Char/Text/Bytes/Map/Set.

Gergely's Rust backend already implements some notion of PlutusData for these types.

Should we complete this?

bladyjoker avatar Jun 13 '24 16:06 bladyjoker