Skip to content

minc compiler v0.9.7

Latest

Choose a tag to compare

@mattiasljungstrom mattiasljungstrom released this 17 Jun 13:26
· 1 commit to main since this release

IMPORTANT - After download run this to remove security blocks (required on win/macos):

(win11)> ./setup.cmd
(macos)> source ./setup.sh
(linux)> source ./setup.sh

Install vsix with:
code --install-extension editor/minc-syntax-0.9.7.vsix

Features

  • shader live-reload: "minc run --shader-live app.mc", VS Code debug-session integration ("shaderLive": true), lib/shader_live.mc.

  • web server folded into minc.exe for wasm run: "minc run --target wasm app.mc". integrated in vs code, allows minc wasm to run inside vs code or in external browser with F5.

  • wide-SIMD number types — f32x8, i8x32, i32x8 — process 8 or 32 values at once, working the same way across Intel/AMD (AVX2), Apple/ARM (NEON), and wasm. Each platform turns these into its own native fast instructions, while a shared set of rules keeps the results identical everywhere. This lets common workloads like dot products and small matrix multiplies run much faster without writing platform-specific code.

  • lib/jpeg.mc — full JPEG baseline + progressive codec with wide-SIMD DCT, optimized Huffman, triangle upsampling.

  • Language additions: extern-symbol rename, remove() file builtin, cpu_pause() spin hint, builtin realloc, linked data externs (macOS), link "Framework" (macOS) shorthand.

Compiler correctness

  • Pointer relational comparisons now unsigned; "ptr - ptr" correctness.
  • Checker fixes: out-of-bounds constant array index rejected at compile time, too-many-fields in positional struct literals, overloaded-call + named-struct-literal segfault, extern-vs-builtin/local shadow semantics, free(borrowed str) rejected.
  • C ABI fix: x64/ARM64 indirect & vtable calls now correctly pass ≤8-byte / 9-16 byte structs by value.
  • x64 float to int conversion now matches other platforms (saturate to INT_MIN/MAX, NaN→0) in both scalar and vector widths.

Toolchain

  • LSP: lots of small fixes to correctness and speed.
  • VS Code extension: "Run as WASM" commands, shader-live launch config, wasm server lifecycle fixes.