Skip to content

Releases: eabusato/cct

CCT v0.40

16 Apr 12:57
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

CCT v0.19.0 - Expressive Power Milestone (FASE 19D)

08 Mar 04:35
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Clavicula Turing gains expressive power across seven phases — pattern matching, string
interpolation, algebraic data types, expanded iterators, freestanding profile, bootstrap
libraries, and a massively grown standard library.

🎉 Highlights
This release marks the FASE 19 milestone, consolidating seven phases of evolution since
v0.12:

✅ CUM/CASUS/ALIOQUIN: exhaustive pattern matching with OR-cases and payload destructuring
✅ FORMA: string interpolation with format specifiers, restricted to host profile
✅ ORDO com payload: native algebraic data types (tagged unions) with CUM destructuring
✅ ITERUM expandido: iteration over maps and sets with structured bindings
✅ Freestanding profile: --profile freestanding + --emit-asm for LBOS/bare-metal targets
✅ Bootstrap libraries: 15+ new stdlib modules for building compiler-grade tools in CCT
✅ Language completeness: loop control, logical/bitwise operators, CONSTANS finalized
✅ 1069 tests passing across integration and regression suites


🚀 Language Features

Pattern Matching — CUM / CASUS / ALIOQUIN (FASE 19A)
Full switch/match over REX, VERBUM, and ORDO values
Exhaustiveness checking for ORDO variants — compiler error on missing cases
OR-cases: group multiple patterns under a single CASUS branch
No implicit fallthrough — each branch is isolated
Payload binding: destructure ORDO fields inline within CASUS

String Interpolation — FORMA (FASE 19B)
FORMA "texto {expr}" — embed arbitrary expressions in strings
Format specifiers: {n:5d} (integer width), {v:.2f} (float precision), alignment (<>^)
Restricted to host profile — unavailable under --profile freestanding
Composes with all existing VERBUM operations

Algebraic Data Types — ORDO com payload (FASE 19C)
Native tagged union emission via C backend
Declare variants with typed fields: Ok(REX valor), Err(VERBUM msg)
Destructure via CUM with per-variant bindings
Foundation for generic Result and Option patterns (GENUS expansion planned for FASE 20)

Expanded Iterators — ITERUM (FASE 19D)
ITERUM key, value IN map COM — iterate key/value pairs over maps
ITERUM item IN set COM — iterate elements over sets
Consistent binding syntax across arrays, FLUXUS, maps, and sets
Closes the last iteration gap in the collection surface

Loop Control Finalized — FRANGE / RECEDE (FASE 15A)
FRANGE and RECEDE stable across DUM, DONEC, REPETE, and ITERUM
Full test coverage across all loop forms

Logical and Bitwise Operators (FASE 15B / 15C)
ET, VEL with short-circuit semantics; precedence NON > ET > VEL
ET_BIT, VEL_BIT, XOR, NON_BIT, SINISTER, DEXTER — stable and fully tested

CONSTANS (FASE 15D)
Semantic enforcement of reassignment prohibition
Emits C const in generated code; stable across all scopes

Math Operators (FASE 13M)
** (power), // (floor division), %% (euclidean modulo)


🔧 Tooling

Sigilo Toolchain (FASE 13)
cct sigilo inspect — inspect sigilo of a module
cct sigilo diff — compare sigilos across versions
cct sigilo check — validate against a baseline
--sigilo-check flag for CI integration
CI profiles: advisory / gated / release
Consumer profiles: legacy-tolerant / current-default / strict-contract
sigilo ... --explain for diagnostic explanations

Freestanding Profile (FASE 16)
--profile freestanding — activates bare-metal mode
Semantic diagnostics for all prohibited constructs (libc, TEMPTA, FORMA, etc.)
--emit-asm — emits Intel GAS x86-32 assembly (for LBOS integration)
ABI V0 contract: cdecl x86-32, deterministic symbol naming (cct_fn__)
cct/kernel module for LBOS system call bridge

Existing toolchain surface unchanged:
cct <file.cct> — compile to native executable
cct fmt — format source (--check, --diff)
cct lint — static analysis (--fix)
cct build/run — project workflows
cct test — run test suite
cct bench — run benchmarks
cct doc — generate documentation (Markdown/HTML)


📦 Standard Library (Bibliotheca Canonica)

New modules since v0.12 (FASE 17 + FASE 18):

Text & Parsing
cct/verbum — major expansion: char ops, scanning, full manipulation surface
cct/char — character classification
cct/verbum_scan — cursor-based scanning API
cct/verbum_builder — efficient incremental text construction
cct/fmt — radix/precision/alignment formatting
cct/parse — string-to-primitive with try_* variants

I/O & Filesystem
cct/io — stderr, flush, tty detection
cct/fs — mutations, listing, temp files
cct/path — normalize, resolve, split

Collections & Algorithms
cct/fluxus — peek, set, remove, slice, sort
cct/map — richer API: entry API, iteration
cct/set — richer API: set operations
cct/alg — reductions, sorting, searching
cct/series — static array utilities

Systems & Utilities
cct/process — process execution and capture
cct/hash — djb2, fnv1a, crc32, murmur3
cct/bit — bit manipulation operations
cct/env — environment variables
cct/time — timing primitives
cct/bytes — byte buffer

Compiler Bootstrap Surface (FASE 17)
cct/code_writer — structured code emission
cct/variant — pragmatic sum-type base
cct/ast_node — AST node foundation
cct/args — command-line argument parsing

Stable since v0.12:
cct/option, cct/result, cct/random, cct/mem, cct/cmp, cct/io (core), cct/math


📦 Downloads

Platform File Size
Linux x86_64 cct-v0.19-linux-x86_64.tar.gz ~780KB
macOS ARM64 cct-v0.19-macos-arm64.tar.gz ~250KB
Windows x86_64 cct-v0.19-windows-x86_64.zip ~990KB

Each package includes:
✅ Pre-compiled cct binary (ready to use)
✅ Complete standard library (Bibliotheca Canonica)
✅ Documentation and examples
✅ SHA256 checksum file for verification


🔧 Installation & Usage

Quick Start (Linux/macOS)

1. Download and extract

tar xzf cct-v0.19-*.tar.gz
cd cct

2. Check installation

./bin/cct --version

3. Compile and run an example

./bin/cct examples/cum_basico.cct
./examples/cum_basico

4. Add to PATH (keeps bin/ and lib/ together)

export PATH="$PWD/bin:$PATH"

Quick Start (Windows — MSYS2 UCRT64)

1. Extract the zip file

unzip cct-v0.19-windows-x86_64.zip
cd cct

./bin/cct --version
./bin/cct examples/cum_basico.cct


📚 Examples

Pattern matching over ORDO with payload

./bin/cct examples/cum_ordo_payload.cct

String interpolation with FORMA

./bin/cct examples/forma_basico.cct

Algebraic data types

./bin/cct examples/ordo_payload.cct

Iterating over maps and sets

./bin/cct examples/iterum_mapa_conjunto.cct

Freestanding profile (bare-metal target)

./bin/cct --profile freestanding examples/lbos_hello.cct --emit-asm

Full FASE 19 showcase

./bin/cct examples/fase19_showcase.cct

See examples/README.md for the complete list and learning path.


🐛 Known Issues
FORMA is restricted to host profile — unavailable under --profile freestanding
OR-cases in CUM do not support payload binding (binding requires a unique variant)
Some complex nested CUM patterns may require explicit type annotations
Windows native execution requires GCC in PATH for compiling .cct files
See docs/release/FASE_19_KNOWN_LIMITS.md for the complete list.


🆚 What's Next — FASE 20
Generic ORDO (GENUS sobre ORDO) for truly polymorphic algebraic types
Guards in CASUS branches (CASUS x SI cond)
OR-cases with payload binding
Recursive ORDO definitions
Generic Result/Option via GENUS


🔗 Links
🌐 Repository: https://github.com/eabusato/cct
📝 Issues: https://github.com/eabusato/cct/issues
📚 Documentation: docs/
🧪 Examples: examples/

🙏 Credits
Clavicula Turing (CCT) — A mystical language compiler for code conjuration.

Author: Erick Andrade Busato
License: All rights reserved

FASE 19 release • v0.19.0 • March 2026

CCT v0.12.1 - Structural Maturity Milestone (FASE 12H)

02 Mar 17:41
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Clavicula Turing reaches structural maturity with complete toolchain and consolidated standard library.

🎉 Highlights

This is the first official release of CCT, marking the FASE 12H milestone with:

  • Complete toolchain: compiler, formatter, linter, project manager, and documentation generator
  • Bibliotheca Canonica: consolidated standard library with stability guarantees
  • Multi-platform: Linux, macOS, and Windows (via MSYS2)
  • Modern examples: showcase of current features (iterators, Option/Result, collections)
  • Pre-built binaries: ready to use, no compilation needed

🚀 Features

Compiler

  • Native executable generation via C backend
  • Full support for advanced types (GENUS, PACTUM, constraints)
  • Module system (ADVOCARE)
  • Exception handling (TEMPTA/CAPE/SEMPER)
  • Iterators (ITERUM)

Tooling

  • cct <file.cct> - Compile source file to native executable
  • cct fmt - Automatic code formatting
  • cct lint - Static analysis with suggestions
  • cct build - Build project (requires cct.toml)
  • cct run - Run project main (requires cct.toml)
  • cct test - Run project tests (requires cct.toml)
  • cct bench - Run project benchmarks (requires cct.toml)
  • cct doc - Documentation generation (Markdown/HTML)

Standard Library (Bibliotheca Canonica)

  • Collections: FLUXUS (dynamic vectors), Set, Series
  • Strings: Complete manipulation via verbum.cct
  • I/O: File reading/writing, stdin/stdout
  • Parsing: String to primitive type conversion
  • Math: Mathematical functions and random number generation
  • Functional: Map, Filter, Fold, iterators
  • Types: Option, Result<T,E> for error handling

📦 Downloads

Choose the package for your platform:

Platform File Size
Linux x86_64 cct-v0.12-linux-x86_64.tar.gz ~720KB
macOS ARM64 cct-v0.12-macos-arm64.tar.gz ~230KB
Windows x86_64 cct-v0.12-windows-x86_64.zip ~930KB

Each package includes:

  • ✅ Pre-compiled cct binary (ready to use)
  • ✅ Complete standard library (Bibliotheca Canonica)
  • ✅ Documentation and examples
  • ✅ SHA256 checksum file for verification

🔧 Installation & Usage

Quick Start (Linux/macOS)

# 1. Download and extract
tar xzf cct-v0.12-*.tar.gz
cd cct

# 2. Check installation
./bin/cct --version

# 3. Compile and run an example
./bin/cct examples/hello.cct
./examples/hello

# 4. Add to PATH (keeps bin/ and lib/ together)
export PATH="$PWD/bin:$PATH"
cct --version

Note: Don't copy individual files to /usr/local/bin - the cct script needs lib/cct/ at a relative path (../lib/cct). Either use it from the extracted directory or add the bin/ directory to your PATH.

Quick Start (Windows - MSYS2 UCRT64)

# 1. Extract the zip file
unzip cct-v0.12-windows-x86_64.zip
cd cct

# 2. Check installation
./bin/cct --version

# 3. Compile and run an example
./bin/cct examples/hello.cct
./examples/hello

From Windows CMD/PowerShell:

REM Use the batch wrapper
cct\bin\cct.bat --version
cct\bin\cct.bat examples\hello.cct
examples\hello.exe

Note for Windows: The binary needs GCC in PATH to compile .cct files. Set CC environment variable if needed:

set CC=C:\msys64\ucrt64\bin\gcc.exe

What's Included

cct/
├── bin/
│   ├── cct           # Wrapper script (cct.bat on Windows)
│   └── cct.bin       # Actual binary (cct.exe on Windows)
├── lib/cct/          # Standard library modules
│   ├── fluxus.cct
│   ├── verbum.cct
│   ├── io.cct
│   └── ...
├── examples/         # Example programs
│   ├── README.md
│   ├── hello.cct
│   └── ...
├── docs/             # Complete documentation
│   ├── spec.md
│   ├── bibliotheca_canonica.md
│   └── release/
├── CHECKSUMS.sha256  # Internal checksums for all files
└── README.md

Platform-specific binaries:

  • Linux/macOS: cct (shell script) calls cct.bin (native binary)
  • Windows: cct.bat (batch script) calls cct.exe (native binary)

🔍 Integrity Verification

Before using, verify the package integrity:

Linux:

sha256sum -c cct-v0.12-linux-x86_64.tar.gz.sha256

macOS:

shasum -a 256 -c cct-v0.12-macos-arm64.tar.gz.sha256

Windows (PowerShell):

Get-FileHash cct-v0.12-windows-x86_64.zip -Algorithm SHA256
# Compare with content of .sha256 file

📚 Examples

Try these examples included in the package:

# Basic Hello World
./bin/cct examples/hello.cct
./examples/hello

# Complete language tour
./bin/cct examples/ars_magna_showcase.cct
./examples/ars_magna_showcase

# Modern error handling with Option/Result
./bin/cct examples/option_result.cct
./examples/option_result

# Functional programming with collections
./bin/cct examples/collection_ops_12d2.cct
./examples/collection_ops_12d2

# Iterator patterns
./bin/cct examples/iterators.cct
./examples/iterators

# Format a file
./bin/cct fmt examples/hello.cct

# Lint a file
./bin/cct lint examples/hello.cct

See examples/README.md for complete list and learning path.

📖 Documentation

All documentation is included in the docs/ directory:

  • Getting Started:

    • README.md - Project overview
    • BUILD.md - Build instructions (if compiling from source)
    • docs/install.md - Installation guide
  • Language & Library:

    • docs/spec.md - Complete language specification
    • docs/bibliotheca_canonica.md - Standard library reference
    • docs/architecture.md - Compiler architecture
  • Tooling:

    • docs/build_system.md - Project system and workflows
    • docs/project_conventions.md - Code organization
    • docs/doc_generator.md - Documentation generation
  • Release:

    • docs/release/FASE_12_RELEASE_NOTES.md - Detailed release notes
    • docs/release/FASE_12_STABILITY_MATRIX.md - API stability guarantees
    • docs/release/FASE_12_KNOWN_LIMITS.md - Known limitations

🛠️ Requirements

To run the pre-built binaries:

  • Linux: No dependencies (binary is standalone)
  • macOS: No dependencies (binary is standalone)
  • Windows: GCC must be in PATH or set via CC environment variable

For system-wide installation (optional):

The binary packages are designed to run portably from the extracted directory. For a proper system-wide installation with files in /usr/local/bin and /usr/local/lib/cct, compile from source and use make install:

git clone https://github.com/eabusato/cct.git
cd cct
make
sudo make install

See BUILD.md for detailed instructions.

🐛 Known Issues

  • Windows native execution requires GCC in PATH for compiling .cct files
  • Some advanced generic instantiations may require type hints
  • Error messages occasionally lack source location context

See docs/release/FASE_12_KNOWN_LIMITS.md for complete list.

🆚 What's Next

Future releases will focus on:

  • Performance optimizations
  • Enhanced error messages
  • Additional stdlib modules
  • IDE integrations (LSP server)
  • REPL for interactive development

🔗 Links

🙏 Credits

Clavicula Turing (CCT) - A mystical language compiler for code conjuration.

Author: Erick Andrade Busato
License: All rights reserved


First official release • FASE 12H • March 2026