CYMPLE

Procedural Programming with Unicode Symbols

Version 1.5 • 2025-12-15
⚠️ Disclaimer: This work is based on about 40 years of experience with 12 different programming languages. The definition and outcome however wouldn't be possible without ChatGPT (for interactive work on the language itself) and Claude (for fixing last errors and creating these pages). So, keep in mind: Absolutely no guarantee :-)

What is Cymple?

Cymple is a research programming language exploring novel approaches to procedural programming:

⚙️ Interpret or Compile

Cymple can be interpreted (like JavaScript) or compiled

🎓 Turing Complete

Cymple is Turing complete and can do everything needed

🔣 Unicode Symbols

Keywords replaced with expressive Unicode symbols for visual clarity

🚀 No Garbage Collection

RAII-based deterministic cleanup - perfect for real-time systems

🔐 Share-Nothing

Data races prevented by design through isolated task heaps

⚡ Quantum Operations

Parallel evaluation with timeouts, progress control, and early cancellation

🛡️ Memory Safe

Validated handles with generation counters prevent use-after-free

📋 Formally Specified

Complete formal specification with RFC 2119 conformance keywords

💎 Tiny Binaries: Cymple should produce exceptionally small executables - just a few KB for typical programs. No bloated runtimes, only minimal glibc dependency.

Quick Example

💬 "Hello, World!"

🆕 What's New in 1.5

  • 🔥 Pointers Removed: Memory access only through validated handles - no pointer arithmetic
  • ✅ Generational Validation: Handles carry generation counters to detect use-after-free
  • 🧵 Structured Concurrency: Tasks automatically joined/cancelled at scope boundaries
  • 🚦 Runtime Task Cap: Default 1000 concurrent tasks - prevents spawn storms
  • 📋 Formal Specification: RFC 2119 keywords, statement index, error code ranges
  • ✂️ Minimalism: No break/continue - functions and return are primary control flow

🎯 Design Principles

  • 🛡️ Safety First: Memory safety and concurrency safety through validated handles
  • 🎯 Determinism: Predictable behavior with lowest-index race tie-breaker
  • 📢 Explicitness: No hidden allocations or background operations
  • ⚡ Fail-Fast: Invalid operations cause immediate errors with clear messages
  • ✂️ Minimalism: Small, focused feature set - functions are primary abstraction

🎯 Key Features

  • Memory Safe: Generational handles prevent use-after-free
  • Bounds Checked: All memory access validated at runtime
  • Structured Concurrency: Tasks automatically cleaned up at scope exit
  • Quantum Operations: Race (🌀⚡) and collect (🌀📦) with timeout units & early cancel
  • Pattern Matching: Full destructuring with guards and ranges
  • Borrowing: Temporary access without ownership transfer
  • FFI: Direct C library integration
  • Dual-Mode: Interpreted or compiled
  • Tiny Binaries: Usually only a few KB (10× smaller than Go)
  • Formally Specified: RFC 2119 conformance with complete semantics
⚠️ Note: Cymple is a research language specification. No production implementation exists yet. This is an educational project exploring language design concepts with a focus on safety, determinism, and minimalism.

Try Cymple Online

Edit the code and click "Run" to see the result. Click syntax snippets to insert them!

Output:

            

📖 Syntax Quick Insert

Click to insert at cursor:

💬 Basic I/O 🔢 Variables ⚙️ Operations 🔀 Control Flow 🧵 Functions

Example Programs

⚠️ Note: The following examples are theoretical. Quantum operations (Race and Collect) are not implemented in the interpreter as of Cymple 1.4 or 1.5. They demonstrate syntax only.

Copyright 2016 – 2099 ff Jörg Burbach | All rights reserved – Made with ♥ in Cologne | Kontakt | Impressum