diff options
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 |
