Discover what languages can be compiled to Web Assembly
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
C# feat(java): add Java to WASM is now supported Mar 20, 2018
C++ feat(java): add Java to WASM is now supported Mar 20, 2018
C feat(java): add Java to WASM is now supported Mar 20, 2018
Crystal docs: add crystal lang readme with link to discussion Feb 10, 2018
D feat: D language now supports WASM Jul 25, 2018
F# feat(java): add Java to WASM is now supported Mar 20, 2018
Go feat: Go language is now supported Jul 25, 2018
Haskell docs(haskell): document that there is ongoing work on haskell May 28, 2018
Java feat(java): add Java to WASM is now supported Mar 20, 2018
Julia docs: add Julia README Apr 5, 2018
Kotlin docs(kotlin): add details of Kotlin support Mar 20, 2018
Nim docs(nim): document nim language support May 28, 2018
Python docs(python): add link to ongoing Python support discussion Mar 20, 2018
Rust docs(rust): add link to Rust wasm target Mar 20, 2018
Scala feat: add vagrant template for scala Jan 12, 2018
Swift docs(swift): include current status of swift support Jan 13, 2018
TypeScript feat: add vagrant template for Kotlin and TypeScript Nov 22, 2017
.editorconfig style: add editor config Aug 13, 2017
.gitignore Issue #8 switch to Vagrant based build Jul 17, 2017
CONTRIBUTING.md docs: add guide for contributing new language Nov 22, 2017
LICENSE add LICENSE Jun 4, 2016
README.md feat: D language now supports WASM Jul 25, 2018
compile-to-web-inkscape.svg docs: import logo sizing and centering Jan 12, 2018
compile-to-web.png docs: import logo sizing and centering Jan 12, 2018

README.md

Compile to Web

Discover what languages can be compiled into Web Assembly (WASM)

Languages

Language Compiles to LLVM Compiles to WASM
C ☑️ ☑️
C# ☑️ ☑️
C++ ☑️ ☑️
Crystal ☑️
D ☑️ ☑️
F# ☑️ ☑️
Go ☑️ ☑️
Haskell
Java ☑️ ☑️
Julia ☑️
Kotlin ☑️ ☑️
Nim ☑️ ☑️
Python
Rust ☑️ ☑️
Scala ☑️ ⛔️
Swift ☑️ ⛔️
TypeScript

Key

Icon Meaning
☑️ Success
⛔️ Broken
Unknown

Installation

  1. Install Vagrant
  2. Install VirtualBox
  3. For a desired language cd into the folder, then run
vagrant up
vagrant ssh
sudo su -
install
build

Contributing

Interested in seeing a new language? Found a bug in the examples? Check out the Contributing Guide for how to get involved!

FAQ

Question: Why is "Compile to LLVM" listed?

Answer: LLVM was an influence for WebAssembly technology and was the first compiler infastructure with official WASM support.