10

Existe-t-il un terme qui décrit une fonction qui ne prend aucun argument de façon plus concise que «fonction qui ne prend aucun argument»? (De la même manière que par exemple "fonction d'ordre supérieur" signifie "fonction qui prend des fonctions comme arguments ou retourne une fonction")Qu'est-ce qu'une fonction qui ne prend aucun argument appelé?

Je pense naturellement à "void", mais je pense aussi aux effets secondaires quand je vois "void ". La situation je pense est le genre trouvé dans cette discussion de constantly:

What is this functional "pattern" called?

où vous pouvez créer une fermeture qui ne prend aucun argument n'a pas d'effets secondaires, mais fait encore quelque chose d'intéressant.

Répondre

16

Une fonction arité, habituellement: http://en.wikipedia.org/wiki/Arity

si une fonction a des effets secondaires est orthogonale à combien d'arguments il a, donc dans une langue où aucune fonction n'a jamais d'effets secondaires, vous n'avez pas besoin terme plus spécifique. Dans les langages avec des effets secondaires, je suppose que vous appelez cela une fonction "sans effet secondaire" ou "pure". Et puis avec (par exemple) la mémorisation, une fonction peut être logiquement pure même si vous savez que dans les coulisses, elle a des effets secondaires.

+0

Hah! Comme c'est souvent le cas quand j'obtiens une réponse ici, je me sens maintenant comme un total dork. De couse je sais "unaire", "binaire", etc., mais n'a pas fait le lien. stackoverflow est bien meilleur que Google (que j'ai commencé avec) pour des situations comme celle-ci! – jtolle

3

Un nul ou niladic fonction.

       

+0

Merci aussi. Je n'avais jamais entendu le terme "niladic". – jtolle

4

A Thunk?

+0

Merci. Je ne connaissais pas "thunk" comme un autre nom pour cela. Mais "nullaire" est le terme général que je cherchais. – jtolle

+0

Autrement dit, je devrais dire que je connaissais "thunk" en termes de calcul retardé, mais pas en tant que synonyme de "nullary". – jtolle

Questions connexes