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.