Hmm ça n'est pas exactement ça l'évaluation paresseuse : ne sont exécutées les fonctions que si leur résultat est requis. Un peu comme en C si tu écris :
intx=1||toutEffacer();
la fonction toutEffacer ne sera pas appelée puisqu'on n'a pas besoin de son résultat. Avec l'évaluation paresseuse on généralise cette approche.
Les green threads (ou threads en espace utilisateur, ou threads M:N, etc.) c'est autre chose : c'est le runtime system de GHC qui effectue l'ordonnancement de threads en espace utilisateur beaucoup plus légers que les threads POSIX par exemple. Ça permet d'en créer beaucoup plus à moindre coût.
J'aimerais aussi à terme tester sur de l'embarqué (ARM, etc.) mais pour l'instant je ne supporte que x86-64.
[^] # Re: haskell paresseux => green thread ?
Posté par hsyl20 (site web personnel) . En réponse au journal Sortie de haskus-system 0.7. Évalué à 2.
Hmm ça n'est pas exactement ça l'évaluation paresseuse : ne sont exécutées les fonctions que si leur résultat est requis. Un peu comme en C si tu écris :
la fonction
toutEffacerne sera pas appelée puisqu'on n'a pas besoin de son résultat. Avec l'évaluation paresseuse on généralise cette approche.Les green threads (ou threads en espace utilisateur, ou threads M:N, etc.) c'est autre chose : c'est le runtime system de GHC qui effectue l'ordonnancement de threads en espace utilisateur beaucoup plus légers que les threads POSIX par exemple. Ça permet d'en créer beaucoup plus à moindre coût.
J'aimerais aussi à terme tester sur de l'embarqué (ARM, etc.) mais pour l'instant je ne supporte que x86-64.