EVE Programming

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.

EVE

Effective Virtual Environment

📚 EVE Topics

0% Complete
✓ # 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