summaryrefslogtreecommitdiff
path: root/TYLA
diff options
context:
space:
mode:
Diffstat (limited to 'TYLA')
-rw-r--r--TYLA/Dates et noms.md14
-rw-r--r--TYLA/Subprograms.md21
2 files changed, 34 insertions, 1 deletions
diff --git a/TYLA/Dates et noms.md b/TYLA/Dates et noms.md
new file mode 100644
index 0000000..05abfea
--- /dev/null
+++ b/TYLA/Dates et noms.md
@@ -0,0 +1,14 @@
+# Dates
+- **FORTRAN** -> 1956
+- **ALGOL** -> 1958
+- **COBOL** -> 1959
+- **Prolog, C** -> 1972
+- **Ada** -> 1983
+- **Python** -> 1991
+- **Go** -> 2009
+# Noms
+Alan Kay -> SmallTalk
+Backus -> FORTRAN (1er compilateur optimisant)
+Wirth -> Pascal
+McCarthy -> Lisp
+Liskov -> CLU 1975 \ No newline at end of file
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