Installation

The current implementation of eucalypt is available in the eucalypt project and can be installed as follows.

On macOS via Homebrew

If you use homebrew, you can install using

brew install curvelogic/homebrew-tap/eucalypt

Otherwise binaries for macOS are available on the releases page.

On Linux

x86_64 binaries built in CI are available on the releases page

On Windows

Sorry, haven't got there yet. But you could try installing from source.

From source

You will need a rust installation and cargo.

Build and install should be as simple as:

cargo install --path .

Testing your installation

eu --version

...prints the version:

$ eu --version
eu 0.2.0

...and...

eu --help

...shows command line help:

A functional language for structured data

Usage: eu [OPTIONS] [FILES]... [COMMAND]

Commands:
  run           Evaluate eucalypt code (default)
  test          Run tests
  dump          Dump intermediate representations
  version       Show version information
  explain       Explain what would be executed
  list-targets  List targets defined in the source
  fmt           Format eucalypt source files
  lsp           Start the Language Server Protocol server
  help          Print this message or the help of the given subcommand(s)

Arguments:
  [FILES]...  Files to process (used when no subcommand specified)

Options:
  -L, --lib-path <LIB_PATH>                Add directory to lib path
  -Q, --no-prelude                         Don't load the standard prelude
  -B, --batch                              Batch mode (no .eucalypt.d)
  -d, --debug                              Turn on debug features
  -S, --statistics                         Print metrics to stderr before exiting
      --statistics-file <STATISTICS_FILE>  Write statistics as JSON to a file
  -h, --help                               Print help
  -V, --version                            Print version

Use eu <command> --help for detailed help on each subcommand.