Changelog
All notable changes to the Pole project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.1.0 - 2025-10-19
π First Prototype Release
This is the first working prototype of Pole, an LLM-optimized programming language system.
β¨ Added
Language Design
- Specification Language (.pole) - Natural language-friendly syntax for expressing intent
- Implementation Language (Pole IR) - Formal, type-safe intermediate representation
- Complete language specifications in
specs/directorysyntax-v0.md- Specification language grammarir-syntax.md- IR grammar definitionverification.md- Verification system designworkflow.md- LLM transformation workflow (6-step process)
Core Implementation
- Parser -
.polefile parsing with AST generation - Validator - Specification completeness checking and ambiguity detection
- LLM Transformer - Specification to IR conversion using OpenRouter API
- Support for Claude (anthropic/claude-3.5-sonnet)
- Mock LLM client for testing without API
- IR Interpreter - Execute IR code with support for:
- Recursion and pattern matching
- Type checking and inference
- Runtime contract verification (requires/ensures)
- Type Checker - Static type verification with detailed error messages
- Contract Verifier - Runtime precondition/postcondition checking
- Example Tester - Automatic test execution from
@test_caseannotations
CLI Tools
pole check <file>- Validate specification filespole build <file>- Generate IR from specifications (LLM-powered)pole run <ir-file> <function> [args...]- Execute IR functionspole test <ir-file>- Run all test cases in IR file
Quality Features
- Error System - Unified error handling with:
- Source location tracking
- Code context highlighting
- Helpful error messages with suggestions
- Performance - Excellent performance (< 1ms for most operations)
- Factorial(20): 0.06ms
- Deep recursion (200 levels): 0.99ms
- Testing - Comprehensive test coverage
- 9 test modules with all tests passing
- Performance benchmarks
- Contract verification tests
Examples
01-factorial.pole- Factorial with recursion and pattern matching02-fibonacci.pole- Fibonacci with simple recursion03-user-validation.pole- Complex validation constraints04-simple-math.pole- Math operations (abs, max, sum_to_n)- All examples include working IR implementations with test cases (15/15 tests passing)
Development Environment
- NixOS/Nix support - Declarative development environment
shell.nixfor reproducible builds.envrcfor automatic direnv integrationpolecommand wrapper for convenient CLI usage
- Documentation
QUICKSTART.md- User onboarding guideARCHITECTURE.md- System architecture detailsDEVELOPMENT.md- Development setup guideROADMAP.md- Priority-based task managementAGENTS.md- AI agent development guidelines
π Statistics
- 28 commits
- 22 Python source files
- 9 test modules (100% passing)
- 4 example programs with 15 test cases
- 5 specification documents
π§ Technical Details
- Language: Python 3.11+
- Dependencies: Zero required dependencies (OpenRouter API optional for LLM transformation)
- License: MIT
- Architecture: Two-layer language system (Specification β IR)
π― Project Status
- β Phase 0: Planning & Documentation (Complete)
- β Phase 1: Language Design (Complete)
- β Phase 2: Prototype Implementation (Complete - All P0/P1 tasks)
- β Phase 3: Quality Improvements (P0 complete, P1 partial)
π Known Limitations
- No IDE integration (LSP) yet
- No interactive specification improvement tool
- No debugger or profiler
- String operations limited in IR interpreter
- List/Map types not fully implemented in interpreter
- Type system supports basic types (Int, Nat, Bool, String)
π Future Work
- IDE integration with LSP support
- Interactive specification refinement tool
- Debugger with execution tracing
- Profiler for performance analysis
- Documentation generator from specifications
- Extended standard library
π Acknowledgments
Built with focus on LLM-friendly design and formal verification principles.