Catnip Catnip

version 0.0.6

Né comme langage de script embarquable pour Python.

Langage qui fait un 360 no-scope pendant que les chatons compilent les killcams.

Catnip REPL v0.0.6
Type /help for help, /exit to quit
0.1 + 0.2
0.30000000000000004
# tout est conforme

Officieusement : un rite désespéré pour calmer les entités multidimensionnelles qui vivent dans les coins du code.

Si tu sens ta conscience boucler sans condition d'arrêt, c'est une feature.

Respire. Reprends ton café froid. Ce n'est pas encore classé "incident".

Turfu

Prerelease MAIS les spécifications sont figées.

  • guide de performances prod-like

Repos

Bonus

Le langage est prouvé avec Coq. Voir : COQ_PROOFS

Transparence maximale : Tree-sitter n'est pas formellement prouvé ici, et Cranelift non plus.

On a donc des preuves solides, et un petit pacte avec le dieu des parseurs.

Par conséquent l'usage de Catnip est déconseillé dans les contextes safety-critical, alors si on ne scripte pas un Airbus, un missile, ou une centrale nucléaire, c'est OK.


Origine

  • INTRODUCTION - Ambition, sources d'inspiration et philosophie de Catnip
  • CHANGELOG - Changements par rapport à la prerelease précédente

Primitives

Démarrage express. tuto/

Interface

Guide utilisateur user/

Embedding (Catnip comme DSL) :

Standalone et REPL :

Apprendre et utiliser Catnip.

  • CLI - Options ligne de commande (scripts et REPL)
  • REPL - Mode interactif pour exploration
  • MODULE_LOADING - Charger des modules Python

Structure

Spécification lang/

Référence complète de la syntaxe et des propriétés du langage.

  • SYNTAX - Syntaxe de base, séparateurs, conventions et annexes
  • TYPES - Types de données : nombres, 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, tail calls et fonctions intégrées
  • STRUCTURES - Structures, méthodes, traits, héritage, abstract
  • PATTERN_MATCHING - Référence complète du pattern matching
  • BROADCAST - Notation vectorielle sur collections
  • SCOPES_AND_VARIABLES - Portée des variables et closures
  • PRAGMAS - Pragmas (TCO, JIT, ND-recursion, modules)
  • TURING_COMPLETENESS - Preuve de Turing-complétude
  • GLOSSARY - Termes techniques

Matière

Exemples examples/

Écosystème

Exemples thématiques utilisant les libs Python. codex/

Cœur

Doc développeur dev/

Architecture interne et contribution au projet.

  • ARCHITECTURE - Pipeline, parsing, analyse sémantique
  • VM - Machine virtuelle Rust et NaN-boxing
  • OPTIMIZATIONS - Passes d'optimisation, TCO, JIT
  • EXTENDING - Ajouter opcodes et opérations

Outillage

Outils tools/

Outils de développement et utilitaires pour Catnip.