Add language: Tact
, and extension to JSON
#6689
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding a Tact programming language for
.tact
file extension and an extension to JSON under.tact
. More about the former: https://tact-lang.org/Description
Tact is a new programming language for TON blockchain smart contracts that is easy to use and has a familiar syntax, strong type system, gas control and zero-overhead type composition, which enables developers to write complex smart contract systems with verified execution costs.
Checklist:
I am adding a new language. — Tact
jetton.tact
is adapted from Jetton Standard in tact-lang/tact-by-exampledeployable_trait.tact
is adapted from Deployable Trait in tact-lang/tact-by-example#48b5ff
I am adding a new extension to a language. — JSON, but written under
.tact
formatlanding.tact
is copied from DSprtn/GTFO_VR_PluginAdditional info
In the search query I've excluded forks and some smaller JSON-like file format used by the specific haptics company, which happens to have the same file extension (not listed in
languages.yml
). However, I've done a bit of research and the JSON-like.tact
format is just regular JSON, so I've added a heuristic to differentiate them and an extension of JSON with a sample JSON.tact
file.Currently, the former query gives approximately 1.1k rightful
.tact
files across a fair distribution of repositories, although still falling short of the 2k mark. Please, add thePending Popularity
label :)On other note — in addition to the TextMate grammar submitted with this PR, the language as of now also has a complete and well-tested Tree-sitter grammar. Could you please help integrate it to GitHub once or when this PR gets merged?