IntersectMBO / IntersectMBO/plutus
Add a datatype compilation strategy for PIR that compiles datatypes to Data
Open
Internal
Plutus IR
status: triaged
- Dominant language
- Haskell
- Stars
- 1.6k
- Forks
- 508
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 22
Description
Add a way to tell the PIR compiler to compile datatype values as Data instead of scott encoding them or using SOPs.
Main roadblock is that we need to break the abstraction barrier for other types inside constructors and destructors. Since Constr can only have Data arguments, we need to convert between Data and the abstract types that we have for them at that point. Perhaps we can just not do type abstraction at all, and instead do type lets.
Contributor guide
Assessment
This issue has not been assessed yet.