Skip to content

Supported Languages

Pixievolt No. 1 edited this page Sep 1, 2023 · 20 revisions

TIC-80 Supports multiple scripting languages, including:

TIC-80 also supports compiled languages via our WASM support. If your compiled language of choice can compile to Web Assembly there is a good chance you could use it to develop for TIC-80.

You need to specify the language you use by adding one the following to the metadata:

Language Tag
For Fennel ;; script: fennel
For Javascript // script: js
For Lua -- script: lua
For Moonscript -- script: moon
For Ruby # script: ruby
For Squirrel // script: squirrel
For Wren // script: wren
For Janet # script: janet
For Scheme ;; script: scheme
For Python # script: python

Note: If no script tag is added it will be considered as a Lua cart.

Starting New Compiled from Source Project

Starting New Scripting Project

To see a demo or start a new project in your scripting language of choice just start up TIC-80 and from the console type new [lang], for example for a Wren project just type:

new wren

Type help new to print arguments for each language.

for some on-screen guidance.

Structured Edition

Structured edition is an edition mode, available only for lisp-like languages like Scheme, Janet and Fennel. It helps the user to keep the program well written by automatically balancing the parenthesis and editing code at an S-Expression level. It will be harder to delete parenthesis until the expression is emptied first, to help keep the balance. Here are some key bindings available in structured edition languages:

Key Binding Functionality
ctl-down or alt-S S-Expify (add parenthesis around word or s-expression)
ctl-up Extirp from S-Expression (remove word or s-expression from enclosing s-expression)

Fennel strict Tag

See metadata page.
TODO

Clone this wiki locally