diff options
Diffstat (limited to 'TYLA')
| -rw-r--r-- | TYLA/Dates et noms.md | 14 | ||||
| -rw-r--r-- | TYLA/Subprograms.md | 21 |
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 |
