diff options
| author | marcellus <msimon_fr@hotmail.com> | 2025-06-06 12:58:10 +0200 |
|---|---|---|
| committer | marcellus <msimon_fr@hotmail.com> | 2025-06-06 12:58:10 +0200 |
| commit | 83c47453ad1705477d707bbf0b1bffa32e057ab1 (patch) | |
| tree | 5b155aab3a7470db9125f5ce71875e342d87acd5 /TYLA/Subprograms.md | |
| parent | 147394e7692bdf77f041e4b9bd9ff0daac1ee9c7 (diff) | |
| parent | 07ca5a5d24c7aa87c923e9bd6091480ad407827a (diff) | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'TYLA/Subprograms.md')
| -rw-r--r-- | TYLA/Subprograms.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/TYLA/Subprograms.md b/TYLA/Subprograms.md new file mode 100644 index 0000000..4790ecd --- /dev/null +++ b/TYLA/Subprograms.md @@ -0,0 +1,29 @@ +# Procédures +- Sous-programmes sans valeur retournée +- Effets de bords nécessaires +# Fonctions +- Sous-programmes retournant une valeur +- Sans effets de bord +Certains langages n'ont pas la distinction (retour null/None...) +# Methodes +Procédures associées à une entité, prise en argument implicitement +# Pointeurs de fonction +Le code d'une fonction est en mémoire et a donc une adresse +# Objets fonctionnels +e.g. C++ +Permettent de garder un état préservé entre les appels +# Closures +Fonction capturant des variables non locales appelées environnement +Paire `{function_ptr, env}` +# Lambdas +Combinaise d'une fonction anonyme et d'une closure +# Arguments +- **argument formel** : argument dans la déclaration du sous-programme +- **argument effectif** : argument dans l'appel du sous-programme +- **paramètres** : réservés à la généricité +# Applications partielles +Passage d'une partie des arguments au sous-programme pour renvoyer une fonction prenant le reste des arguments +# Curryfication +Traduction d'une fonction à plusieurs arguments en plusieurs fonction d'un seul argument +# Arguments nommés et par défaut +Permettent de spécifier certains arguments et d'avoir une valeur par défaut pour les autres
\ No newline at end of file |
