4 ms·
This is brilliant, except that one recurs -- just as one incurs debt. Recursing is a thing one does to a throne in Nethack, not something done with code.
by discardable_dan 4y ago
This is brilliant, except that one recurs -- just as one incurs debt. Recursing is a thing one does to a throne in Nethack, not something done with code.
- stingraycharles 4y agoWhat do you mean, you mean typical JavaScript code doesn’t use recursion? Because I can assure you that as someone who works mostly in FP languages, recursion is, in fact, done a lot with code and not just nethack. :)
- pgorczak 4y agoI think GP means it’s “I recur, he/she recurs” rather than “I recurse, he/she recurses”
- discardable_dan 4y agoWhen an incurrence of debt occurs, we say that someone incurs it. Similarly, English demands that for a recurrence relation (the source of recursion schemes and basis of the term "recursion"), we recur. "Recurse" is a backronym adopted by people who were ignorant about english, math, or possibly both. And now it's become a part of literal coder camp names.
- stingraycharles 4y agoOhh thanks for explaining this. I totally missed this was a grammatical correction. I’m not a native speaker, and I actually learned something from it. So how should I say “this code is recursing” instead? “This code is ..” ? Or is it solely about the form of “This code recurses”, which should instead be “This code recurs” ? Which also sounds somewhat wrong, because wouldn’t that refer to “recurring” instead of “recursing” ? Thanks for your explanation, and of course the grandparent as well.
- dmurray 4y ago"This code recurs" or "this code is recursive". "This code is recurring" is correct, but not so idiomatic. But English is a living language, grammarians should be descriptive not prescriptive etc... "Recurse" (and "Recursing") is a perfectly good backformation, especially because it performs a useful function in distinguishing between two uses of the overloaded verb "to recur".
- mlashcorp 4y agoUnless you're using a functional programming language that does not support iteration. (and even if it does support it, it's typically preferred to use tail recursion)
- discardable_dan 4y agoI think in those cases, you'll also find that those programmers use recursion, and write programs that recur -- not ones that recurse.
- 082349872349872 4y agoWhile others are by GOs possessed, And WHILE-DO, CASE, and all the rest, The LISPing hackers will prefer With COND their programs to invest And let their functions all recur When searching trees in maddened quest. https://www.ultimate.com/phil/pdp10/quux.poem https://www.ultimate.com/phil/pdp10/quux.poem
- mlashcorp 4y agoAh gotcha. Apologies not a native speaker so the nuance was lost on me
- thfuran 4y agoThe bigger issue is that they're essentially entirely incorrect. "Recurse" is both in common use and well understood. I'd even argue that it's more correct than "recur", since it's unambiguously about recursion.
- jacobmartin 4y agoI appreciate your nit, but I have one myself: Can you curse the throne itself? Afaik you can only curse items, not dungeon features, and the NethackWiki doesn't list anything about a throne having B/U/C status. I don't see any way to capture it as an item. So I don't think recursing can happen to a throne in nethack.
- pxc 4y agoThey had to do it for the rhyme! I also kind of like 'recurse' as a new construction for recursion in computer science to immediately disambiguate it from recurrence in ordinary language.
- runarberg 4y agoI’m sure there are plenty of parsers out there written in JavaScript that use recursion, simply by the fact that many parsers are much easier written with recursion.