Master Eve - a data-centric DSL built for internet ETL pipelines, with a gradual typing JIT compiler and virtual machine, and one syntax for data transforming and routing between a local client and a server backend. This laboratory guides you through 45 topics, from the syntax to the compiler.
Effective Virtual Environment
| ✓ | # | Topic | Description |
|---|---|---|---|
| PHASE 1: CORE LANGUAGE | |||
| 1 | Manifest | Explore Eve's metaphor, architecture, features and purpose | |
| 2 | Syntax | Learn Eve syntax fundamentals, statements, and program structure | |
| 3 | Data Types | Understand primitive types, type declarations, and conversions in Eve | |
| 4 | Date and Time | Calendar dates, times, durations and the Quick Format | |
| 5 | Control Flow | Master conditional statements, loops, and flow control structures | |
| 6 | Strings | Work with strings, text literals and regular expressions | |
| 7 | Collections | Work with arrays, lists, maps, and other collection types | |
| PHASE 2: EVE CODE TOPOLOGY | |||
| 8 | Scripts | Projects, aspects and modules, regions, constants and processes | |
| 9 | Aspects | The one kind of script that runs: encapsulated machines with a public main and private processes |
|
| 10 | Macros | Eve macros: a whole program in one file, a primary aspect with other aspects and shared declarations | |
| 11 | Modules | Reusable modules: exports, extension methods, singletons, import and libraries | |
| 12 | Subprograms | Procedures and the other subprograms: parameters by value and by reference, optional, vararg, order and results | |
| PHASE 3: FUNCTIONAL PROGRAMMING | |||
| 13 | Functions | Declaration, calls, parameters, procedures, anonymous functions | |
| 14 | Generators | Functions that give their values one at a time: yield, infinite sequences |
|
| 15 | Closures | Functions created by functions, with their own state | |
| 16 | Expressions | Lambda expressions: functions written as expressions | |
| 17 | Callbacks | Functions passed to other code: types, patterns and rules | |
| PHASE 4: OBJECT ORIENTED FEATURES | |||
| 18 | Objects | State machines created from classes: comparison and attributes | |
| 19 | Classes | Declare classes: signature, members, visibility and constructors | |
| 20 | Inheritance | Extend classes, multiple inheritance, polymorphism and the class tree | |
| 21 | Generics | Classes with type parameters, Optional and generic collections | |
| 22 | Partials | Abstract classes and traits: incomplete classes that others complete | |
| 23 | Methods | Methods of classes: extension methods, static and safe; unsafe methods | |
| PHASE 5: ENTERPRISE & SYSTEM FEATURES | |||
| 24 | Processing | Learn data processing, transformation, and batch operations | |
| 25 | Exceptions | Exception library design, standard error and warning codes with message patterns | |
| 26 | Databases | Connect to databases, execute queries, and manage data persistence | |
| 27 | Multitasking | One process, several tasks that take turns: async functions and procedures, spawn, await, wait | |
| 28 | Concurrency | Aspects that run at the same time: parallel groups, channels, thread safety, BSP and pipelines | |
| PHASE 6: INTERNET FEATURES | |||
| 29 | Templates | String templates and safe HTML templates (planned) | |
| 30 | Networking | Names, connections, clients, servers and safety (not designed yet) | |
| 31 | Protocols | HTTP, the Eve Wire Protocol and data formats (not designed yet) | |
| 32 | Server | Run Eve machines locally and remotely: setup, remote control, HTTP services, the API for AI (planned) | |
| 33 | RAD Workbench | A workbench written in Eve, the final test of the language: editor, command window and direct SQL, database tree, jobs, logs, debugger, login to many machines (planned, level 7) | |
| PHASE 7: IMPLEMENTATION & TOOLS | |||
| 34 | Compiler | Implement your own Eve compiler: architecture, languages and milestones | |
| 35 | Standard Library | Explore Eve's built-in functions and standard library modules | |
| 36 | System Library | Modules that connect a program to the machine: files, time, shell, network | |
| 37 | EVE VM | The Eve virtual machine: running scripts, configuration, modes | |
| 38 | Shell Commands | Use Eve for command-line scripting and system administration | |
| 39 | EveDB | The Eve test database: a Zig server around DuckDB that plays the remote database in tests (in progress) | |
| 40 | Files and ETL | Read and write CSV, JSON and fixed-width files in Unicode, reject bad rows, transfer data to a database (designed) | |
| PHASE 8: DEMOS, TESTS & PERFORMANCE | |||
| 41 | Demos & Examples | The demo scripts and projects of the tutorial, with the topic page and the source of each | |
| 42 | Feature Tests | The feature tests of every level, with a description and a link to each file (generated from the tests) | |
| 43 | Smoke Test & Performance | The quick check that the machine is sane, the benchmark of each level and the history of the runs (generated) | |
Credits: Tutorial author: Elucian Moise · AI assisted: Claude Code · Repository: eve-lang