diff options
| author | marcellus <msimon_fr@hotmail.com> | 2025-06-21 16:30:52 +0200 |
|---|---|---|
| committer | marcellus <msimon_fr@hotmail.com> | 2025-06-21 16:30:52 +0200 |
| commit | 85f27b860ed78cbe3ebedb5b5540962461393266 (patch) | |
| tree | 9358deda2a6d1dabd49436b9003574fbb6eb8925 /TYLA/Subprograms.md | |
| parent | c0798f948cd2d317880545641f1c1a9e7defaab5 (diff) | |
update: Saturday 6 June, 16:30:52 from IUseArchBTW
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 |
