Educational Multi-Language Programming Environment with Integrated IDE, Debugger, and Turtle Graphics
Time Warp Studio is a unified desktop programming environment designed for educators and students. It brings together 24 programming languages spanning six decades of computing history into a single, modern IDE. Built with Python and PySide6 (Qt6), it provides an integrated platform for learning programming concepts, exploring turtle graphics, and working through structured lessons.
- Core Features
- Requirements
- Quick Start
- Installation
- Your First Program
- Example Code
- Documentation
- Project Structure
- Running the IDE
- Testing
- Contributing
- License
24 languages spanning six decades of computing history:
| Language | Paradigm | Era | Status |
|---|---|---|---|
| BASIC | Imperative / Educational | 1964 | Complete |
| Logo | Turtle Graphics / Educational | 1967 | Complete |
| PILOT | Computer-Aided Instruction | 1969 | Complete |
| C | Systems / Procedural | 1972 | Complete |
| Forth | Stack-based / Concatenative | 1970 | Complete |
| Pascal | Structured / Educational | 1970 | Complete |
| Prolog | Logic / Declarative | 1972 | Complete |
| SQL | Relational / Query | 1974 | Complete |
| Smalltalk | Object-Oriented | 1980 | Complete |
| APL | Array / Mathematical | 1966 | Complete |
| Assembly | Low-level / x86 | 1950s | Complete |
| Brainfuck | Esoteric / Turing | 1993 | Complete |
| CICS | Mainframe / Transaction | 1969 | Complete |
| COBOL | Business / Data | 1959 | Complete |
| Fortran | Scientific / Numeric | 1957 | Complete |
| Haskell | Functional / Typed | 1990 | Complete |
| HyperTalk | Event-driven / English | 1987 | Complete |
| JavaScript | Scripting / Web | 1995 | Complete |
| JCL | Job Control / Mainframe | 1964 | Complete |
| Lua | Scripting / Embedded | 1993 | Complete |
| Python | Multi-paradigm / Modern | 1991 | Complete |
| REXX | Scripting / Mainframe | 1979 | Complete |
| Scheme | Functional / Lisp | 1975 | Complete |
| SQR | Report / Database | 1980s | Complete |
- Code Editor β Syntax highlighting, line numbers, and auto-indentation per language
- Output Console β Program results, error messages, and interactive input
- Graphics Canvas β Real-time turtle graphics rendering with zoom and pan
- Theme System β 28 built-in themes (Dracula, Monokai, Catppuccin Mocha, Gruvbox Dark, VS Code Dark/Light, GitHub Dark/Light, Nord, Solarized, retro CRT, and more)
- Find & Replace β Advanced search with regex, case sensitivity, whole word matching, and live match highlighting
- Auto-Completion β Context-aware completions from language keywords and document identifiers
- 14 Feature Panels β Lessons, AI Assistant, Error Explainer, Examples Browser, Turtle Inspector, Debugger, and more
- Native turtle support with position, heading, and pen state tracking
- 50+ drawing commands across Logo and BASIC
- Real-time rendering with Qt painter, zoom/pan controls
- Cross-language graphics support (Logo and Turbo BASIC)
- Statement-level stepping with breakpoint support
- Timeline recording of program execution with state snapshots
- Variable inspector with real-time value tracking
- Rewind capability to navigate backwards through execution history
- Lesson System β Step-by-step guided instruction with auto-verification
- AI Assistant β Intelligent code suggestions and explanations
- Error Explainer β Human-readable explanations of programming errors
- Examples Browser β 93 example programs across all 24 languages
- Achievements β Gamified progress tracking
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.10 | 3.12+ |
| PySide6 | Any recent | Latest |
| Pillow | 10.0.0 | Latest |
| OS | Windows 10, macOS 10.14, Ubuntu 20.04 | Any modern OS |
| RAM | 4 GB | 8 GB |
| CPU | SSSE3/SSE4 support | Any modern CPU |
git clone https://github.com/James-HoneyBadger/Time_Warp_Studio.git
cd Time_Warp_Studio
python run.pygit clone https://github.com/James-HoneyBadger/Time_Warp_Studio.git
cd Time_Warp_Studio
python run.pyThe run.py launcher will automatically:
- Check your Python version (3.10+ required)
- Create a virtual environment if one doesn't exist
- Install all dependencies
- Launch the IDE
That's it β you should see the Time Warp Studio window in a few seconds.
python run.py # Auto-setup and launch
python run.py --fresh # Force-recreate virtual environment
python run.py --skip-setup # Skip dependency checks (faster startup)
python run.py --no-venv # Use system Python (not recommended)
python run.py --help # Show all options# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Install dependencies
pip install -r Platforms/Python/requirements.txt
# Launch the IDE
python Platforms/Python/time_warp_ide.py./run.sh- Open Time Warp Studio
- Select BASIC from the language dropdown (top-right)
- Type this in the editor:
PRINT "Hello, World!"
FOR I = 1 TO 5
PRINT "Count: "; I
NEXT I- Press Ctrl+R (or click Run)
You'll see the output in the console panel below the editor.
SCREEN 1
COLOR 14, 1
LINE (10, 10)-(200, 100)
CIRCLE (150, 150), 50
PSET (300, 200)
PRINT "Graphics demo complete!"; Draw a colorful square
SETPENCOLOR "RED
REPEAT 4 [FORWARD 100 RIGHT 90]
; Draw a star
PENUP SETPOSITION 150 0 PENDOWN
SETPENCOLOR "BLUE
REPEAT 5 [FORWARD 80 RIGHT 144]
T: Welcome to the math quiz!
T: What is 2 + 2?
A: 4
TY: Correct! Well done!
TN: Not quite. The answer is 4.
program Hello;
var
i: integer;
begin
writeln('Hello from Pascal!');
for i := 1 to 5 do
writeln('Count: ', i);
end.parent(tom, bob).
parent(bob, ann).
grandparent(X, Z) :- parent(X, Y), parent(Y, Z).
?- grandparent(tom, ann).: GREET ." Hello from Forth!" CR ;
GREET
5 3 + . CRBrowse 93 more examples in the Examples/ directory or through File β Examples in the IDE.
| Document | Description |
|---|---|
| ARCHITECTURE.md | System design and technical details |
| INSTALLATION.md | Detailed installation instructions |
| CONTRIBUTING.md | How to contribute |
| Guide | Description |
|---|---|
| Getting Started | First steps with the IDE |
| IDE Basics | Editor, menus, and panels |
| Lessons | Working through guided lessons |
| Turtle Graphics | Drawing with the turtle |
| Settings | Customizing the IDE |
| Keyboard Shortcuts | Complete shortcut reference |
| Troubleshooting | Fixing common problems |
| Tutorial | Description |
|---|---|
| BASIC | BASIC programming with graphics |
| Logo | Turtle graphics programming |
| PILOT | Interactive lesson creation |
| C | C language basics |
| Pascal | Structured programming |
| Prolog | Logic programming |
| Python | Modern scripting & sandboxed execution |
| Lua | Lightweight scripting language |
| JavaScript | Scripting in the browser era |
| Haskell | Pure functional programming |
| Scheme | Lisp-family functional programming |
| Smalltalk | Object-oriented programming |
| REXX | Mainframe scripting language |
| Forth | Stack-based programming |
| Brainfuck | Esoteric Turing-complete language |
| COBOL | Business data processing |
| Fortran | Scientific computing |
| Assembly | x86 low-level programming |
| APL | Array programming language |
| HyperTalk | Event-driven scripting |
| JCL | IBM Job Control Language |
| CICS | IBM Transaction processing |
| SQL | Relational database queries |
| SQR | Structured Query reporting |
| Document | Description |
|---|---|
| FAQ | Frequently asked questions |
| Documentation Index | Full documentation listing |
| Examples Catalog | Example programs catalog |
Time_Warp_Studio/
βββ run.py # Smart launcher (auto-setup + launch)
βββ run.sh # Shell wrapper for Linux/macOS
βββ Makefile # Build automation targets
βββ docker-compose.yml # Multi-service orchestration
β
βββ README.md # This file
βββ ARCHITECTURE.md # System design document
βββ CHANGELOG.md # Version history and release notes
βββ CONTRIBUTING.md # Contributor guide
βββ ROADMAP.md # Development roadmap (Q2βQ4 2026)
βββ SECURITY.md # Vulnerability reporting policy
βββ LICENSE # MIT License
β
βββ Platforms/Python/ # Main application source
β βββ time_warp_ide.py # IDE entry point
β βββ test_runner.py # Test orchestration with HTML reports
β βββ time_warp/
β βββ core/ # Interpreter engine and services
β β βββ interpreter.py # Central command dispatcher (~1,500 lines)
β β βββ debugger.py # Step-through debugger with timeline
β β βββ sql_engine.py # SQLite-backed T-SQL compatibility
β β βββ orchestrator.py # System integration / component registry
β β βββ config.py # Canonical paths (~/.time_warp/)
β βββ languages/ # 24 language executors
β β βββ base.py # Executor protocol definition
β β βββ basic.py # BASIC with Turbo graphics
β β βββ logo.py # Logo turtle graphics
β β βββ pilot.py # PILOT CAI system
β β βββ python.py # Python sandboxed executor
β β βββ ... # 20 more language executors
β βββ ui/ # PySide6 (Qt6) UI components
β β βββ main_window.py # Main IDE window (6 mixins)
β β βββ editor.py # Code editor with syntax highlighting
β β βββ canvas.py # Turtle graphics canvas
β β βββ themes.py # 28-theme manager
β β βββ output.py # Output panel + interpreter threads
β β βββ debug_panel.py # Debugger controls/watch/call-stack
β β βββ command_palette.py # Ctrl+Shift+P command palette
β β βββ feature_panels.py # 14 dynamic feature panels
β β βββ mixins/ # Collaboration, classroom, debug, etc.
β βββ graphics/ # Turtle state and rendering
β β βββ turtle_state.py # Position, heading, pen state (~600 lines)
β βββ features/ # Lessons, autosave, achievements, games, etc.
β βββ utils/ # Expression evaluator, error hints, etc.
β βββ tests/ # 41+ test files (1,700+ tests)
β
βββ Examples/ # 93 example programs across 24 languages
β βββ CATALOG.md # Searchable example index
β βββ basic/ (5) logo/ (5) pilot/ (3) c/ (5)
β βββ pascal/ (4) prolog/ (4) cobol/ (5) sqr/ (4)
β βββ fortran/ (3) haskell/ (3) javascript/ (4) assembly/ (3)
β βββ apl/ (3) hypertalk/ (3) brainfuck/ (3) forth/ (3)
β βββ lua/ (4) rexx/ (3) scheme/ (4) smalltalk/ (3)
β βββ python/ (5) sql/ (4) cics/ (4) jcl/ (5)
β βββ demo/ (2) # Cross-language showcases
β
βββ extras/HB_Banking/ # Optional banking/ERP demo application
β βββ main.py # CLI entry point
β βββ gui_main.py # PySide6 GUI
β βββ modules/ # Accounts, transactions, reports
β
βββ tests/ # Root-level integration tests
β βββ test_all_demos.py # Standalone demo verifier
β βββ test_basic_functionality.py # Quick smoke test
β
βββ docs/ # Documentation
β βββ INDEX.md # Documentation hub
β βββ guides/ # 8 progressive how-to guides
β βββ tutorials/ # 24 language-specific tutorials
β βββ reference/ # FAQ and reference material
β
βββ Scripts/ # Build, launch, deploy, and utility scripts
βββ docker/ # Dockerfiles, nginx, supervisord, health checks
βββ packaging/linux/ # Desktop shortcut and icon
βββ .github/ # CI/CD workflows (10) and templates
# Recommended: Smart launcher
python run.py
# Direct launch (requires venv activated)
python Platforms/Python/time_warp_ide.py
# Shell script (Linux/macOS)
./run.sh- All 24 language interpreters are initialized
- Configuration is loaded from
~/.time_warp/config.json - The main IDE window opens with editor, canvas, and output panels
- Your last theme and settings are restored
| Metric | Typical Value |
|---|---|
| Startup time | 2β5 seconds |
| Memory usage | 200β300 MB |
| Codebase | 56,000+ lines across 130+ Python modules |
Run from the repository root:
# Quick root-level test run
pytest -q
# Full package suite with integrated reporting
python Platforms/Python/test_runner.py --comprehensive
# Basic smoke suite
python Platforms/Python/test_runner.py --basic
# Full package tests directly via pytest
PYTHONPATH=Platforms/Python pytest Platforms/Python/time_warp/tests -q
# Optional backend load/security suites (require backend services)
RUN_BACKEND_INTEGRATION=1 PYTHONPATH=Platforms/Python pytest Platforms/backend/tests -qCurrent status: 1,700+ tests passing across 41 test modules covering all 24 language executors, graphics, GUI, and interpreter tests.
We welcome contributions! Here's how to get started:
-
Fork the repository
-
Clone your fork and create a feature branch:
git checkout -b feature/my-improvement
-
Set up the development environment:
python -m venv .venv source .venv/bin/activate pip install -r Platforms/Python/requirements.txt -
Make your changes following PEP 8 style
-
Test that all tests pass:
pytest -q python Platforms/Python/test_runner.py --basic
-
Commit with a clear message and submit a pull request
See CONTRIBUTING.md for detailed guidelines.
Licensed under the MIT License.
- Repository: github.com/James-HoneyBadger/Time_Warp_Studio
- Maintainer: James Temple β james@honey-badger.org
- Version: 9.0.0
Time Warp Studio honors the educational legacy of BASIC, Logo, PILOT, COBOL, Fortran, APL, and other pioneering programming languages spanning six decades of computing history, while providing a modern IDE experience for today's learners. Special thanks to the open-source communities behind Python, PySide6/Qt, and the many educators who continue to champion accessible programming education.
Happy Programming! π