Exemples Catnip

Collection d'exemples pratiques pour apprendre et expérimenter avec Catnip.

Bases (basics/)

Exemples fondamentaux pour débuter :

Fonctions (functions/)

Fonctions, lambdas et closures :

Pattern Matching (pattern-matching/)

Matching et destructuration :

Flux de Contrôle (control-flow/)

Structures de contrôle avancées :

Avancé (advanced/)

Fonctionnalités avancées :

Broadcasting (broadcast/)

Opérations vectorielles sur collections ; notation A.[op M]A est la liste de gauche et M une liste ou un scalaire. Opérations courantes : arithmétiques (+, -, *, /, %, //, **), comparaisons (==, !=, <, <=, >, >=), logiques (and, or, not), bitwise (&, |, ^, <<, >>) et call pour appliquer une fonction.

Chargement de Modules (module-loading/)

Intégration avec Python :

Intégration DSL (embedding/)

Catnip comme moteur DSL embarqué dans une application Python :

Performance (performance/)

Cache et optimisations :

Exécuter les Exemples

# Exemple simple
catnip docs/examples/basics/01_born_to_segfault.cat

# Avec module Python
catnip -f ./docs/examples/module-loading/host_module_example.py:host docs/examples/module-loading/02_demo_with_as.cat

# Mode verbeux
catnip -v docs/examples/functions/01_functions.cat

# REPL pour expérimenter
catnip