Add support for the Pact smart contract language
This PR adds an entry for the Pact smart contract language.
Description
Following the directions in CONTRIBUTORS.md, this PR adds:
- A language entry for Pact
- An EBNF specification for Pact
- Sample scripts used in real world applications
- Sample licenses used in real world scripts
Checklist:
- [x] I am adding a new language.
- [x] The extension of the new language is used in hundreds of repositories on GitHub.com.
- Search results for each extension:
- https://github.com/search?q=extension%3Apact+NOT+nothack&type=Code
- https://github.com/search?q=extension%3Arepl+NOT+nothack+AND+module&type=Code
- Search results for each extension:
- [x] The extension of the new language is used in hundreds of repositories on GitHub.com.
NB: we have many private clients that do not open source their code, but store their scripts on private enterprise github accounts, outnumbering the number of representative public samples.
-
[x] I have included a real-world usage sample for all extensions added in this PR:
-
Sample source(s):
- https://github.com/kadena-io/chainweb-node/blob/master/pact/coin-contract/v3/coin-v3.pact
- https://github.com/kadena-io/chainweb-node/blob/master/pact/coin-contract/v3/coin-v3.repl
- https://github.com/kadena-io/pact-examples
- https://github.com/wrappedfi/wrapped_token_pact/blob/main/wrapped-token-v1.pact
-
Sample license(s):
- https://github.com/kadena-io/pact/blob/master/LICENSE
- https://github.com/kadena-io/pact-lang-api/blob/master/LICENSE
-
-
[x] I have included a syntax highlighting grammar: https://github.com/kadena-io/pact-atom/blob/master/grammars/pact.cson
-
[x] I have updated the heuristics to distinguish my language from others using the same extension.
I support this request as the Kadena blockchain continues to scale its operations to the masses!
Can you please check this ?
@lildude updated with .repl sample script. Has the popularity window for support been shifted? It would seem like we have enough content for support at this point.
@itsthejoker is there a problem you'd like to vocalize?
@lildude Addressed your comments. Anything else you need from me?
Ping!
Pong! 🏓
"Patience, my young Padawan". The speed of review isn't going to change the rate at which this PR will be merged as PRs are only merged close to making releases.
Looks good now but the language is still too low in popularity. I'll review this again around each release and will only approve the PR once the popularity requirement has been met.
Alright, thanks for the update on policy so i can stop pinging 😅. We'll see if we can get more people to publish their work openly.
We've had quite a bit of dev work come online recently. Have we met the bar yet @lildude?
Eb