simple_notebook

Interactive Eiffel Programming Environment

v1.0.0-alpha.34 MIT

Overview

simple_notebook brings interactive programming to Eiffel with real-time streaming compiler output, automatic EiffelStudio detection, and DBC trace logging.

New in Alpha 34: Multi-class support with full multiple inheritance - define CAR, BOAT, and CAR_BOAT classes interactively!

Part of the Simple Eiffel ecosystem.

Quick Start

Windows Installation

Download and run: eiffel_notebook_setup_1.0.0-alpha.34.exe

Linux Installation (Ubuntu/Debian)

Install EiffelStudio first, then build from source:

# Install EiffelStudio
sudo add-apt-repository ppa:eiffelstudio-team/ppa
sudo apt update && sudo apt install eiffelstudio

# Clone and build
git clone https://github.com/simple-eiffel/simple_notebook
cd simple_notebook && ./build.sh

Interactive Session

e[1]> name: STRING := "World"
e[2]> print ("Hello, " + name + "!")
Hello, World!
e[3]> x := 21
e[4]> x * 2
42

Key Features

Multi-Class Support

Define complete classes with multiple inheritance.

Class Editing

Edit existing classes with -class NAME.

Cross-Platform

Windows and Linux (Ubuntu/Debian).

Streaming Compilation

Real-time compiler output.

Variable Persistence

Attributes persist across cells.

DBC Contracts

Full require/ensure support.

Auto-Detection

Finds EiffelStudio automatically.

Natural Eiffel Syntax

Write standard Eiffel code.

CLI Commands

CommandDescription
-helpShow help
-quitExit
-cellsList cells
-varsShow variables
-runRe-execute all
-compile verboseStream output
-classShow generated class
-class NAMECreate or edit class