-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plutus Multi-language support #21
Comments
Another key item is that all alternative languages utilize Untyped Plutus Core (UPLC) as the compilation target, so a strong suggestion to toolmakers is to allow for pluggable sourcemaps to better support alternative languages. |
For the transaction builder list , I would add
|
I find it interesting that few of these languages, if any, target PIR. |
@zliu41 as far as I know Plutarch is the only one that targets PIR - and mainly at auditor request. |
Note: this issue doesn't really have 'next steps' per se, however, it is intended as a resource for anyone looking for cardano support in their language, and for IOG to see that we're already in a flourishing multi-language environment. |
Plutus was originally released with
PlutusTx
as the default Haskell API for building plutus onchain scripts. other tools have quickly emerged for writing plutus without Haskell, either as a standalone language, or as an embedded DSL in mainstream programming languages. Additionally, other tools have arisen for building transactions offchain in multiple languages. A problem that then arises from this plethora of choice is sharing types and interfaces across languages for convenience, and in the case of Haskell alternatives, there has been compiler compatibility issues that can make certain alternatives harder to use.Smart Contract Languages (Onchain Scripts)
Transaction Builder Toolkits (Offchain Code)
** known to be used in production, or have large plutus projects actively adopted for production purposes
Cardano has a flourishing polyglot suite of tools, however there are going to be a number of gaps when attempting to compose these individual tools into a full-fledged application:
The text was updated successfully, but these errors were encountered: