cyber icon indicating copy to clipboard operation
cyber copied to clipboard

list of related projects (feel free to edit)

Open matu3ba opened this issue 2 years ago • 3 comments

Interpreters

  • https://github.com/FastVM/Web49 discussed here https://news.ycombinator.com/item?id=29850562 and https://github.com/FastVM/minivm-cc
  • https://github.com/wasm3/wasm3
  • dascript https://dascript.org/ (restricted io, no gc, statically typed, plans LLVM backend)
  • ..

Fast JIT compilers.

  • Dynasm (https://luajit.org/dynasm.html)
  • luajit remake with deegen framework (technical blog post https://sillycross.github.io/2022/11/22/2022-11-22/)
  • https://github.com/vnmakarov/mir
  • B3 from JavascriptCore (https://webkit.org/docs/b3/)
  • dascript
  • blink has an interesting section on jitting + environment constrains. Not sure if user-provided instruction fine-tuning with graceful fallback would be useful + feasible or not
  • ..

Notable mention (syntax etc)

  • https://github.com/actonlang/acton/issues/180 not sure about provided performance, but stuff like https://www.acton-lang.org/learn/acton-by-example/actors/sync_method_call.html sounds interesting.

matu3ba avatar Jan 10 '23 14:01 matu3ba

I tried to run paka, a language that uses minivm but ran into issues running fib.paka. Looks like paka might not have been updated in a while though.

Then I tried out wasm3, I assumed it would be faster but Cyber is 25% faster:

hyperfine 'cyber fib/fib.cy' 'wasm3 --func fib fib/fib32.wasm 30'
Benchmark 1: cyber fib/fib.cy
  Time (mean ± σ):      41.2 ms ±   3.1 ms    [User: 40.9 ms, System: 0.6 ms]
  Range (min … max):    36.1 ms …  52.1 ms    55 runs
 
Benchmark 2: wasm3 --func fib fib/fib32.wasm 30
  Time (mean ± σ):      52.7 ms ±   3.1 ms    [User: 52.4 ms, System: 0.5 ms]
  Range (min … max):    47.3 ms …  60.5 ms    50 runs

fubark avatar Jan 10 '23 17:01 fubark

@shawsumma might be of interest to you.

dumblob avatar Jan 28 '23 22:01 dumblob

Sharing Discord notes from Darek with some additions.

Production ready

  • Luau - https://github.com/Roblox/luau - seems like a good alternative to Lua that fixes the biggest issues and is proven in production
  • Teal - https://github.com/teal-language/tl - coupled with regular Lua distribution (Teal might be still too early though)

Embedded languages

Zig-based languages

  • https://github.com/fubark/cyber
  • https://github.com/MasterQ32/LoLa
  • https://github.com/buzz-language/buzz
  • https://github.com/Vexu/bog
  • https://github.com/Luukdegram/luf

Rust-based languages

Compiled languages

  • Zig - I think this might be the future for low level gamedev, author seems focused on getting the ugly basics right
  • V - was promising, but they're very scattered, chasing every shiny new thing, rewriting everything in V, making their own GitHub (gitly), database (vsql), OS (vinix), UI, etc
  • Odin
  • Beef - https://github.com/beefytech/Beef
  • Jai

Other

erlend-sh avatar Mar 13 '23 20:03 erlend-sh