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