summaryrefslogtreecommitdiff
path: root/TYLA/Subprograms.md
diff options
context:
space:
mode:
authormarcellus <msimon_fr@hotmail.com>2025-05-22 10:56:47 +0200
committermarcellus <msimon_fr@hotmail.com>2025-05-22 10:56:47 +0200
commit51bf1b7c8e3525ab6bdf759e8d3aaa9ee5ec5a11 (patch)
treefeed78db3a532f8e001a15ab9ccf0dd60429525c /TYLA/Subprograms.md
parent6f340e82ef3f9e150c1297ccd21df5b6cd87496c (diff)
update: Thursday 4 May, 10:56:47 from IUseArchBTW
Diffstat (limited to 'TYLA/Subprograms.md')
-rw-r--r--TYLA/Subprograms.md29
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