Plutus Language Family
Out of the box, Orbis will support writing on-rollup smart contract scripts in Haskell using PlutusTx, Plutarch, and in Pluto. All these script languages will have a shared compilation pipeline that compiles to TinyRAM via UPLC.
PlutusTx and Plutarch are domain-specific languages embedded in Haskell (Haskell-EDSLs). Pluto is a language built from scratch and not embedded in another language. Pluto and Plutarch were created to address several performance issues involving the Haskell-to-Plutus code generation in PlutusTx. PlutusTx has several performance problems regarding the size of the generated code and the time and space required to execute the resulting code. In comparison, Pluto and Plutarch have shown improvements by orders of magnitude in all these metrics in porting programs from PlutusTx to Pluto or Plutarch.