Maxon 0.1.1
What's new
Added
maxon run, which compiles a program and runs it in one step. A.maxonfile may begin with a
#!line and be run directly as a script.maxon help, andmaxon help <command>for a single command. Runningmaxonwith no arguments
now lists the commands.--define, which sets a top-levelStringconstant at build time.- Build manifests can declare several named targets, and state the version of what they build.
- Compiled executables carry version metadata: a version resource on Windows, a source version on
macOS, and a producer string on Linux.
Changed
maxon versionreplaces the--versionand-Vflags, and reports the commit and date the
compiler was built from.maxon helpreplaces the--helpand-hflags.Build.buildOnein a build manifest is renamedBuild.build.maxon fmtseparates groups of declarations with one blank line at every nesting depth, not only
at the top level.- On Linux and macOS, starting a program that cannot be found raises
SubprocessError.executableNotFoundinstead ofspawnFailed.
Fixed
- Non-ASCII text displays correctly in a Windows console.
- A deadlocked program on Linux reports the deadlock instead of occasionally hanging.
- A default parameter value is filled in a global variable's initializer, not only inside a function.
- On Linux, a subprocess started by program name finds the program on
PATH, and a file of that
name in the working directory is never run in its place.
Install
macOS and Linux
curl -fsSL https://maxon.dev/install.sh | sh
Windows, in PowerShell
irm https://maxon.dev/install.ps1 | iex
Either script downloads the archive for your machine, checks it against SHA256SUMS, installs it
into ~/.maxon and puts maxon on your PATH; run it again to upgrade. With Homebrew,
brew install maxon-lang/tap/maxon. If you download an archive by hand on macOS, run
xattr -d com.apple.quarantine ./maxon once.
⚠ Keep maxon and stdlib/ together. The compiler finds its standard library by walking
up from its own executable, so moving the binary out on its own leaves it without one.
Verify a download
SHA256SUMS is published beside the archives. The archives themselves are not signed, so
the checksum is what tells you a file is the one that was built.
Assets
maxon-0.1.1-arm64-linux.tar.gzmaxon-0.1.1-arm64-macos.tar.gzmaxon-0.1.1-x64-linux.tar.gzmaxon-0.1.1-x64-windows.zip