Zeta Logo

Zeta Language

A programming language designed to have C sensibilities with modern syntax and features.

Contents

Planned Features

Code Basis

(Internal, compiler dependencies)

Usage

Requirements

Because Zeta uses experimental feature flags (specifically only try_trait currently), you will need to install nightly Rust.

You can install the specific recommended/tested nightly version with rustup toolchain install nightly-2019-07-31, and set it to the default to be used by cargo with rustup default nightly-2019-07-31

Or, you can try the latest nightly Rust with rustup toolchain install nightly, and set it to the default to be used by cargo with rustup default nightly

You will also need to install RLS for the specific nightly version you're using. If you're using VS Code, simply restart your editor after setting the default and it should prompt you to install RLS.

Install

Clone the repo by running git clone https://github.com/zeta-lang/zeta

Build with the typical cargo commands

Utilize

Note: Driver application is currently just a rudimentary testing app and does not yet support command line control

VS Code Integration

Visual Studio Code (Not to be confused with Visual Studio, they are totally separate products) is the recommended editor for developing Zeta. It is a fast and highly customizable text editor with some IDE-like features without the bulk, strict pipeline, or platform limitations of systems like Visual Studio. It is a free download and available for both platforms supported by Zeta

Links

Syntax Highlighting Extension

There is an extension to enable syntax highlighting for Zeta, available from source here: https://github.com/zeta-lang/zeta-syntax

Editor Tasks

VS Code editor tasks are preconfigured for most build script actions in .vscode/tasks.json

To run any task press Ctrl + Shift + B and select the task you want from the drop down menu

Debug Launch Config

Debug launch configs for stepping through the driver are included for vsdbg, gdb and lldb debuggers, in .vscode/launch.json

^