Documentation Développeur
Documentation technique pour contribuer au développement de Catnip.
Vue d'Ensemble
- INTERNALS.md - Architecture interne du projet Pipeline de compilation, structure des composants, guide de contribution
Architecture et Implémentation
-
CYTHON_STRUCTURE.md - Extensions Cython pour performance Modules ``, stratégie de compilation, interopérabilité Python/Cython
-
EXECUTION_MODES.md - Modes d'exécution AST vs VM Interprétation AST, architecture simple, debug et performance
-
IR_CODES.md - Enum OpCode partagé Vue d'ensemble des codes d'opérations utilisés dans IR, semantic et executor
-
PRAGMA.md - Système de pragmas Structure Cython, enums
PragmaType, contexte et parser dédiés -
BROADCAST_STATUS.md - Broadcasting runtime État fonctionnel, cas supportés (scalaire et liste-à-liste), exemples CLI
Optimisations
-
OPTIMIZATIONS.md - Vue d'ensemble des optimisations Stratégies d'optimisation, Cython, caching, TCO, tradeoffs performance/maintenabilité
-
TAIL_CALL_OPTIMIZATION.md - TCO et trampoline Implémentation du trampoline, détection de self-recursion, rebinding optimisé, tracing
-
RECURSION_DEPTH.md - Gestion de la profondeur de récursion Limitations, comportement avec/sans TCO, benchmarks, cas limites
Systèmes de Cache
-
COMPILATION_CACHE.md - Cache de compilation Cache du parsing et compilation (AST, bytecode), backends, invalidation automatique
-
FUNCTION_CACHE.md - Cache de fonctions Mécanismes de cache, backends (mémoire, disque, Redis), invalidation
-
FUNCTION_CACHE_DEPENDENCIES.md - Dépendances du cache Tracking des dépendances, invalidation en cascade, détection de changements
Tests et Validation
- TESTING_OPTIMIZATIONS.md - Tester les optimisations Méthodologie de tests, benchmarks, validation de TCO et caching