chore: some requested changes to comparsisons
This commit is contained in:
parent
919eebbd97
commit
2d5ed86a68
|
@ -35,6 +35,7 @@ main ones:
|
|||
- [Helios](https://github.com/Hyperion-BT/Helios)
|
||||
- [Plutarch](https://github.com/Plutonomicon/plutarch-plutus)
|
||||
- [plu-ts](https://github.com/HarmonicLabs/plu-ts)
|
||||
- [Scalus](https://github.com/nau/scalus)
|
||||
|
||||
The creators of each of these projects all know each other and are in open communication with
|
||||
each other.
|
||||
|
@ -52,9 +53,10 @@ is smart enough to know what the type of something is without you annotating it.
|
|||
### Helios
|
||||
|
||||
Helios is also a brand new language. One notable implementation difference
|
||||
is that it's compiler is written in a [single javascript file](https://github.com/Hyperion-BT/Helios/blob/main/helios.js). According to the creator, the intention of that was to make the compiler implementation easier to audit.
|
||||
is that it's compiler is written in a [single javascript file without dependencies](https://github.com/Hyperion-BT/Helios/blob/main/helios.js).
|
||||
According to the creator, the intention of that was to make the compiler implementation easier to audit.
|
||||
|
||||
As a language, Helios is also purely functional but **does not** have type inference. According to the creator, this is to make contracts easier to audit. It also supports custom types similar to records and enums.
|
||||
As a language, Helios is also purely functional but has limited have type inference. It also supports custom types similar to records and enums.
|
||||
|
||||
Another interesting thing is that because the compiler is a single javascript file it's pretty easy to use Helios from within a javascript project.
|
||||
|
||||
|
@ -67,7 +69,23 @@ higher-kinded types, etc.
|
|||
|
||||
### plu-ts
|
||||
|
||||
plu-ts is **not** a new language. You can consider it an embedded DSL for creating smart contracts with Typescript. Because of this it's a bit closer to Plutarch conceptually than Aiken or Helios.
|
||||
plu-ts is **not** a new language. You can consider it an embedded DSL for creating smart contracts with Typescript.
|
||||
Because of this it's a bit closer to Plutarch conceptually than Aiken or Helios.
|
||||
|
||||
It implements it's own type system and at compile time (js runtime) checks the types to be correct.
|
||||
|
||||
### Scalus
|
||||
|
||||
A Scala implementation of Plutus.
|
||||
|
||||
Scalus is a set of libraries to work with Cardano Untyped Plutus Core that works on both JVM and JavaScript. This includes:
|
||||
|
||||
- Untyped Plutus Core (UPLC) data types and functions
|
||||
- Flat, CBOR, JSON serialization
|
||||
- CEK UPLC evaluation machine including execution cost calculation
|
||||
- UPLC parser and pretty printer
|
||||
- Type safe UPLC expression builder, think of Plutarch
|
||||
- Macros to generate UPLC code from Scala code, think of PlutusTx but simpler
|
||||
|
||||
## Which should you use?
|
||||
|
||||
|
|
Loading…
Reference in New Issue