We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
SPy (Static Python) lang: fast as C, Pythonic as Python — Antonio Cuni
Learn about SPy, a new Python variant designed to match C's speed while keeping Python's syntax. Explores static typing, compilation targets, and performance optimization approach.
- 
    SPy (Static Python) is a new language variant/compiler that aims to be as fast as C while maintaining Python-like syntax and features 
- 
    Key differences from Python include: - Formalized execution phases (import time vs runtime)
- Static type checking and enforcement
- Restricted dynamism for better compilation
- Type annotations are actually enforced
 
- 
    Performance improvements achieved through: - Partial evaluation (“redshifting”) to optimize code at import time
- Static type-based operation dispatch
- Compilation to native code via C
- Removal of dynamic lookup overhead
 
- 
    Multiple compilation targets supported: - Native code (via C)
- WebAssembly (via Emscripten)
- JavaScript interop
 
- 
    Core design principles: - No “performance cliffs” - predictable optimization
- Maintain Pythonic feel and features where possible
- Simple implementation and mental model
- Focus on common Python usage patterns
 
- 
    Current status: - Work in progress/prototype stage
- Basic features working including functions, classes, types
- Missing some Python features like lists/dicts
- Open source on GitHub (spylang/spy)
 
- 
    Use cases include: - Numerical computation
- Performance-critical modules
- WebAssembly compilation
- Alternative to Cython for extensions
 
- 
    Not meant to be 100% Python compatible - intentionally restricts some dynamic features to enable better optimization