summaryrefslogtreecommitdiff
path: root/TYLA/Subprograms.md
diff options
context:
space:
mode:
authormarcellus <msimon_fr@hotmail.com>2025-06-21 16:30:52 +0200
committermarcellus <msimon_fr@hotmail.com>2025-06-21 16:30:52 +0200
commit85f27b860ed78cbe3ebedb5b5540962461393266 (patch)
tree9358deda2a6d1dabd49436b9003574fbb6eb8925 /TYLA/Subprograms.md
parentc0798f948cd2d317880545641f1c1a9e7defaab5 (diff)
update: Saturday 6 June, 16:30:52 from IUseArchBTW
Diffstat (limited to 'TYLA/Subprograms.md')
-rw-r--r--TYLA/Subprograms.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/TYLA/Subprograms.md b/TYLA/Subprograms.md
index 4790ecd..a36d26d 100644
--- a/TYLA/Subprograms.md
+++ b/TYLA/Subprograms.md
@@ -26,4 +26,23 @@ Passage d'une partie des arguments au sous-programme pour renvoyer une fonction
# 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
+Permettent de spécifier certains arguments et d'avoir une valeur par défaut pour les autres
+
+# Passage d'arguments
+## Call by value
+- Arguments passés en copie -> pas d'effets de bord
+- Evalués avant l'appel
+## Call by reference
+- Pointeurs passés vers la valeur -> modification de la donnée
+- Attention si 2x le même pointeur
+## Call by value-result
+Ada `in out`
+- Arguments évalués à l'appel de la fonction et passés en copie
+- Arguments recopiés à la fin de la fonction (modifiés ou pas)
+ALGOL-W :
+- Arguments évalués et copiés à l'appel
+- Arguments ré-évalués au retour pour la recopie
+## Call by name
+Arguments évalués à chaque utilisation
+## Call by need
+-> Lazy initialization \ No newline at end of file