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