Repository navigation
Z# 0.6.1
The first release for more than Linux: the compiler for Linux x86-64, macOS arm64 and
Windows x64, each built by the macOS one (src/release.sh).
Platforms
zs build --targettakesaarch64-macos,x86_64-macos,x86_64-windows-gnu,
aarch64-windows-gnu,aarch64-linux-gnuandwasm32(freestanding, with a Node host):
clang compiles the IR, zig cc the runtime and the link, no SDK.- The compiler runs on macOS and Windows. On Windows, a build without
--targetgoes through
mingw-w64; file names, arguments and the environment are UTF-8; paths work across drives. - The runtime's loop on epoll, kqueue and IOCP (wepoll); sockets, processes and pipes on Windows.
- Cross builds are the same bytes each time; ThinLTO caches on macOS.
Compiler
- Every mistake of a declaration is reported, not only its first.
- The back half of the compiler runs on all cores; it builds itself faster than the F# compiler did.
- Optimized builds drop what nothing reaches: a hello world is 17 KB, not 89.
import cworks from a fresh clone, and for a target finds its system headers.- A project's modules are found from its main's folder, in any subfolder.
Editor
- LSP: a function's signature at the end of its line; hover, references and definition of
type names.
Library
Task.runwaits for the spawned tasks it cancelled.
Fixes
- A dependency's name can't reach outside
.zs-cache/deps; a rev starting with-isn't
passed to git as an option; MCP tools refuse symbolic links. - A file with a top-level expression reports a parse error instead of panicking.
- The Windows runtime builds with newer mingw-w64 headers, which declare
mkdtemp.
Other
- MIT license;
examples/logstat, a Z# tour for F# developers.