Spécification du langage
Documentation de référence du langage Catnip, du plus accessible au plus avancé.
Commencer ici
- SYNTAX - Syntaxe de base, séparateurs, conventions et annexes
- TYPES - Types de données : nombres, décimales exactes, complexes, chaînes, f-strings, booléens, collections
- EXPRESSIONS - Expressions multilignes, opérateurs, attributs, indexation et slicing
- CONTROL_FLOW - Structures de contrôle (
if,while,for,break,continue) - FUNCTIONS - Fonctions, lambdas, décorateurs, appels terminaux et fonctions intégrées
- STRUCTURES - Structures, méthodes, traits, héritage et abstractions
- PATTERN_MATCHING - Référence complète du filtrage par motifs (pattern matching)
Aller plus loin
-
BROADCAST - Notation vectorielle sur collections : opérations avec
A.[op M], transformations sur listes et dictionnaires, motifs de broadcasting -
SCOPES_AND_VARIABLES - Affectation, portée des variables et closures : résolution de portée, masquage (shadowing), captures et durée de vie
-
PRAGMAS - Directives de compilation (TCO, JIT avec
@jitetpragma("jit", "all")), récursion ND (mode parallèle, mémoïsation) et import de modules
Théorie et preuves (optionnel)
- TURING_COMPLETENESS - Le socle formel du langage : il peut exprimer tout type d'algorithme. Les preuves formelles servent à vérifier ces garanties (audit, recherche, sécurité), sans être nécessaires pour coder au quotidien
- COQ_PROOFS - Référentiel des preuves Coq : ce qui est prouvé, comment vérifier (
make proof) et où trouver les modules de preuve
Glossaire
- GLOSSARY - Définitions des concepts clés et de la terminologie du langage