Skip to content

Maxon 0.1.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 13:47
· 330 commits to main since this release

What's new

Added

  • maxon run, which compiles a program and runs it in one step. A .maxon file may begin with a
    #! line and be run directly as a script.
  • maxon help, and maxon help <command> for a single command. Running maxon with no arguments
    now lists the commands.
  • --define, which sets a top-level String constant 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 version replaces the --version and -V flags, and reports the commit and date the
    compiler was built from.
  • maxon help replaces the --help and -h flags.
  • Build.buildOne in a build manifest is renamed Build.build.
  • maxon fmt separates 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.executableNotFound instead of spawnFailed.

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.gz
  • maxon-0.1.1-arm64-macos.tar.gz
  • maxon-0.1.1-x64-linux.tar.gz
  • maxon-0.1.1-x64-windows.zip