https://github.com/lewismj/eta
A Lisp System
https://github.com/lewismj/eta
aad bytecode causal-factor-investing causal-inference compiler lisp logic-programming neural neural-network neural-networks scheme torch vm
Last synced: 27 days ago
JSON representation
A Lisp System
- Host: GitHub
- URL: https://github.com/lewismj/eta
- Owner: lewismj
- License: apache-2.0
- Created: 2025-12-15T20:22:28.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-05-01T05:55:30.000Z (about 1 month ago)
- Last Synced: 2026-05-01T08:30:59.302Z (about 1 month ago)
- Topics: aad, bytecode, causal-factor-investing, causal-inference, compiler, lisp, logic-programming, neural, neural-network, neural-networks, scheme, torch, vm
- Language: C++
- Homepage:
- Size: 86.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
η (Eta)
A Lisp-inspired language for symbolic, logic and constraint logic (CLP) programming, with machine learning, and causal inference.
---
Documentation
lewismj.github.io/eta
---
## Getting Started
The easiest way to experience Eta is through the pre-built release bundles, which include the full toolchain and standard library.
### 1. Download the Release
Grab the latest bundle for your platform from the [Releases](https://github.com/lewismj/eta/releases) page:
- **Windows x64:** `eta-v0.0.2-win-x64.zip`
- **Linux x86_64:** `eta-v0.0.2-linux-x86_64.tar.gz`
### 2. Install
Unpack the archive and run the platform-specific installer. This configures your `PATH`, sets up `ETA_MODULE_PATH`, and registers the VS Code extension.
**Windows (PowerShell)**
```powershell
cd eta-v0.0.2-win-x64
.\install.cmd
```
**Linux / macOS**
```bash
cd eta-v0.0.2-linux-x86_64
chmod +x install.sh && ./install.sh
```
> **Note:** Restart your terminal after installation to apply the environment changes.
### 3. Verify
```console
eta --help
etai --help
```
### 4. Build Your First App
Eta ships with a project model — `eta new`, `eta build`, `eta run`, `eta test`, `eta add`.
```console
eta new hello_app --bin
cd hello_app
eta build
eta run
```
See [Build Your First App](https://lewismj.github.io/eta/docs/app/first_app/) for a full walkthrough.
---
## CLI overview
`eta` is the primary entrypoint. It drives the packaging workflow and delegates to the underlying tools:
```console
eta new [--bin|--lib] # scaffold a new package
eta build # compile the current package
eta run # build and run the entry point
eta test # run the test suite
eta add # add a dependency
eta tree # show the resolved dependency graph
eta prof run / report / view # profiling sub-commands
```
The full release bundle also ships the lower-level tools for direct use or editor integration:
| Tool | Purpose |
| :---------------- | :------------------------------------------------------------------- |
| **`etai`** | Run a single `.eta` source file or pre-compiled `.etac` bytecode. |
| **`etac`** | Ahead-of-time compiler — `.eta` → optimised `.etac` bytecode. |
| **`eta_repl`** | Interactive REPL. |
| **`eta_lsp`** | Language server — diagnostics, completion, and navigation. |
| **`eta_dap`** | Debug adapter — breakpoints, stepping, and call-stack inspection. |
| **`eta_jupyter`** | Jupyter kernel — interactive notebooks with rich output. |
| **`eta_test`** | Test runner — TAP / JUnit output and VS Code Test Explorer. |
The VS Code extension adds a **Heap Inspector**, **Disassembly View**, and **GC Roots Tree** for inspecting the VM at runtime.
See [Quick Start](https://lewismj.github.io/eta/docs/quickstart/) and [Build Your First App](https://lewismj.github.io/eta/docs/app/first_app/) for the full tooling walkthrough.
---
*License: [LICENSE.txt](LICENSE.txt)*