diff options
| author | marcellus <msimon_fr@hotmail.com> | 2025-05-22 10:56:47 +0200 |
|---|---|---|
| committer | marcellus <msimon_fr@hotmail.com> | 2025-05-22 10:56:47 +0200 |
| commit | 51bf1b7c8e3525ab6bdf759e8d3aaa9ee5ec5a11 (patch) | |
| tree | feed78db3a532f8e001a15ab9ccf0dd60429525c /TYLA | |
| parent | 6f340e82ef3f9e150c1297ccd21df5b6cd87496c (diff) | |
update: Thursday 4 May, 10:56:47 from IUseArchBTW
Diffstat (limited to 'TYLA')
| -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 |
