3 ms·
Just to add to the above: It's not a comprehensive answer, but this always was a polyglot project. There're parts written in (and for): - OpenCL interop (e.g.
by toxmeister 4mo ago
Just to add to the above: It's not a comprehensive answer, but this always was a polyglot project. There're parts written in (and for):
- OpenCL interop (e.g. https://thi.ng/raymarchcl https://thi.ng/raymarchcl, https://thi.ng/simplecl https://thi.ng/simplecl)
- GLSL (e.g. https://thi.ng/shader-ast https://thi.ng/shader-ast)
- C11 (e.g. https://github.com/thi-ng/c-thing https://github.com/thi-ng/c-thing, https://thi.ng/synstack https://thi.ng/synstack)
- Zig (https://github.com/thi-ng/zig-thing https://github.com/thi-ng/zig-thing)
- WASM (https://thi.ng/wasm-api https://thi.ng/wasm-api)
- Forth (https://thi.ng/charlie https://thi.ng/charlie)
There are infrastructure packages to simplify creation of ad hoc DSLs, their transpilation or interpretation, but also interop with WASM (so far mostly geared towards & tested with Zig), for example:
- https://thi.ng/parse https://thi.ng/parse
- https://thi.ng/pointfree https://thi.ng/pointfree
- https://thi.ng/lispy https://thi.ng/lispy
- https://thi.ng/sexpr https://thi.ng/sexpr
In general, thi.ng projects range from super high level computational design concepts to low-level primitives like memory allocators and memory/data layout management (e.g. https://thi.ng/tinyalloc https://thi.ng/tinyalloc, https://thi.ng/malloc https://thi.ng/malloc, https://thi.ng/simd https://thi.ng/simd, https://thi.ng/soa https://thi.ng/soa) and a huge spectrum of other things in between...