Wikifunctions:Programming languages
See also w:en:lists of programming languages. Compositions are a kind of language, but aren't covered here.
Executable
Implemented
As of March 2024 the following languages compile to WASM to be run by the executor:
- unversioned Javascript (W3C Software and Document Notice and License, src), using WasmEdge-QuickJS (using QuickJS 2024, compatible with ES2023)
- unversioned Python (PSF License Agreement, Zero-Clause BSD), using the development version of RustPython WASI mode (this is intended to be compatible with CPython 3.12)
Planned
- versioned Javascript (ECMA202?+)
- versioned Python (3+)
Requested
See the workboard in Phabricator to request additional programming languages that should be supported in Wikifunctions. Among other criteria for implementation, available language interpreter/compiler software must be freely licensed.
- T352589: LabView/G via pyLabView (MIT)
- T352588: Kotlin (Apache)
- T307171: Lua (MIT)
- T301418: Scratch/Snap!/Logolike (BSD 3-Clause, GPLv2 and Scratch Source Code License)
- T298633: Vlojure (MIT)
Former
Previously, the function evaluator directly ran code in its container. Because it was based on Debian Bullseye, JavaScript execution was provided by Node.js 16 and Python by Python 3.9. These are no longer immediately available due to the re-build onto Web Assembler, but could return if needed via a custom build.