A walkthrough of writing a basic compiler with LLVM. No prior experience assumed.
http://www.wilfred.me.uk/blog/2015/02/21/my-first-llvm-compiler/
A walkthrough of writing a basic compiler with LLVM. No prior experience assumed.
http://www.wilfred.me.uk/blog/2015/02/21/my-first-llvm-compiler/
WAForth is a bootstrapping Forth interpreter and dynamic compiler for WebAssembly. You can see it in a demo here.
It is entirely written in (raw) WebAssembly, and the compiler generates WebAssembly code on the fly. The only parts for which it relies on external (JavaScript) code is to dynamically load modules (since WebAssembly doesn’t support JIT yet), and the I/O primitives to read and write a character to a screen.
Parts of the implementation were influenced by jonesforth.
WAForth is still in an experimental stage. It implements most of the ANS Core Words, and passes most of the Forth 200x Test Suite core word tests.
el-tramo.be/waforth
https://github.com/remko/waforth
A course on functional programming using JavaScript.
For those of us interested in WebAssembly, a relatively new runtime that’s available in modern browsers and in Nodejs, it’s been interesting to watch the explosion of new programming languages that have come out targeting this platform. Lately I’ve been experimenting with AssemblyScript, a nice language with a very familiar syntax (basically it’s a subset of Typescript).
I’ve also been looking at Grain.
The Grain language looks like a more functionally oriented language than AssemblyScript (more like Elm, Purescript and Reason) but with a JavaScript like syntax mixed with more powerful functional concepts such as algebraic types, pattern matching, etc. The language is small and seems pretty quick to learn.
An extremely fast JavaScript bundler and minifier