l-m

l-m.dev

me.l-m.dev

where to find me


V Programming Language

  • Actively involved and well regarded in the V community, including participating in discussions, providing support, and moving the language forward.
  • Recognized for expertise in V programming language and its ecosystem, with contributions acknowledged by fellow team members.
$ cat > a.v << EOF
fn main() {
	println("Hello WASI!")
}
EOF
$ v -b wasm a.v # implicit WASI target
$ wasmer a.wasm
Hello WASI!

V programs can be compiled to WASM via Emscripten, but a native WASM backend is being developed by l-m:

> twitter.com/v_language

V now has a new wasm module with a pure V implementation of the wasm bytecode module format!

> twitter.com/v_language

WebAssembly

  • Low-level WebAssembly programming, with a strong understanding of the WebAssembly MVP binary format spec.
  • Developing the native WebAssembly backend for the V programming language and a low level seralisation library, aiming for 100% spec completion.
  • Just import wasm!
import wasm // < l-m
import os

mut m := wasm.Module{}
mut f := m.new_function('num', [], [.i32_t])
{
	f.i32_const(10) // | i32.const 10
	f.i32_const(15) // | i32.const 15
	f.add(.i32_t)   // | i32.add
}
m.commit(f, true) // export: true
os.write_file_array('num.wasm', m.compile())!
  • Emscripten development in C and C++, compiling graphical interactive programs to WebAssembly, using libraries such as SDL2, sokol, and ImGui.

> l-m.dev/physics-applied

  • A collection of interactive demonstrations and simulations. Completely open source, written entirely in C. ImGui and sokol.

stas

A stack based compiled systems programming language.

include <std.stas>

fn main {
	'Hello world!\n' puts
}
  1. 356 byte hello world static executable.
  2. Leverages native system calls for Linux and FreeBSD.
  3. The stas compiler is entirely selfhosted.
  4. Build an identical compiler in 80ms!
$ hyperfine './stas stas.stas'
Benchmark 1: ./stas stas.stas
  Time (mean ± σ):      79.5 ms ±   1.0 ms    [User: 75.3 ms, System: 3.7 ms]
  Range (min … max):    77.3 ms …  81.9 ms    37 runs
$ ./stas examples/hello_world.stas
$ wc -c ./a.out
356 ./a.out
$ ./stas examples/hello_world.stas -r
Hello world!
  • Includes a homegrown x86_64 code generator, peephole and tail call optimisations, including a register allocator, dead code eliminator, and compile time evaluation of pure functions.
  • The 1.0 stas compiler was bootstrapped from the V programming language!
  • Read More Here!
  1. cs/release-stas-0.2.0
  2. tags/stas
  3. github/stas
  4. github-releases/0.2.0

All notable software projects

  1. (+) | source repository, will contain a useful README
  2. |+| | project website
  3. [P] | a related post on /cs
  4. [T] | related tags for posts on /cs

  • Like what I do? Want to support me? I accept Monero.

    86Nje7j8bC5VsNyhoZ3GAYEiDn67wTpqwdpk8rKPsKWcgzfWUuyJ7tHFY6hA5hxPmsZNWyGHoLtHMFVHsMsaCMYdSUJWdeZ


  • all routes (unless specified otherwise), including ‘/’ use ZERO javascript and never will.
  • routes that use javascript are open source.
  • created entirely by myself using Hugo, an open-source static site generator. this site is a heavily modified fork of the archie theme.