Haskell: pourquoi la convention au nom d'une aide de la fonction “go”?

Je vois go beaucoup lors de la lecture de Haskell matériel ou de la source, mais je n'ai jamais été vraiment à l'aise à ce sujet - (j'imagine que c'est la connotation négative de "goto" dans mon esprit). J'ai commencé à apprendre Haskell avec LYAH, et c'est là que j'ai ramassé dans la tendance à utiliser acc et step lors de l'écriture de plis. D'où vient la convention pour l'écriture go viennent de?

Plus important encore, quel est exactement le nom de go censé implique?

  • J'ai l'habitude de l'appeler ma fonction loop à la place.
  • Jamais vu go dans toute Haskell matériel que j'ai lu. Pouvez-vous donner un exemple/de référence?
  • Par exemple, le Yesod livre de l'explication de l'agent Recenseur paquet. (Pourquoi le Yessod livre consacre donc beaucoup de matériel pour le sujet je ne sais pas, mais c'est à côté de la question)
  • Pour ce que ça vaut, j'ai vu beaucoup de programmeurs C/C++ qui a aussi le nom de leurs fonctions d'assistance "aller" quand ils ne peuvent pas penser à un meilleur nom.
  • FWIW, explicite la queue de la récursivité est la version fonctionnelle de goto dans beaucoup de façons, y compris la possibilité d'obscurcissement. Le typage statique et de règles de portée aider à garder la confusion à un minimum, si. Et comme pour le choix du nom, j'aime @Michael Snoyman la réponse ci-dessous au sujet de la durée et de la pertinence. Aussi, quand il y a juste une fonction d'assistance de son nom semble largement hors de propos, donc en général j'ai juste ramasser "aller à" ou "en boucle", car j'ai pour ramasser quelque chose et ces deux sens. J'ai tendance à préférer " go " pour les paresseux et les boucles "en boucle" des ceux de.
InformationsquelleAutor Dan Burton | 2011-04-30