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)
|
- [Helios](https://github.com/Hyperion-BT/Helios)
|
||||||
- [Plutarch](https://github.com/Plutonomicon/plutarch-plutus)
|
- [Plutarch](https://github.com/Plutonomicon/plutarch-plutus)
|
||||||
- [plu-ts](https://github.com/HarmonicLabs/plu-ts)
|
- [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
|
The creators of each of these projects all know each other and are in open communication with
|
||||||
each other.
|
each other.
|
||||||
|
@ -52,9 +53,10 @@ is smart enough to know what the type of something is without you annotating it.
|
||||||
### Helios
|
### Helios
|
||||||
|
|
||||||
Helios is also a brand new language. One notable implementation difference
|
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.
|
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
|
||||||
|
|
||||||
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?
|
## Which should you use?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue