I just learned about back chaining. Pretty neat! But I would have never guessed it was called that or been predict what it was from the name.
So the #beginners question is this: is that the name that’ll show up in documentation? If not, what will?
Do you mean backpassing?
yeah, that one! I suppose that does explain why I couldn't find anyone talking about it here :sweat_smile:
oh, hah. https://roc.zulipchat.com/#narrow/stream/231635-compiler-development/topic/casual.20conversation/near/250488603 yep!
but for real, why isn't it called something like—I dunno—imperative mode, or sequencing, etc. Naming it after the syntax sugar that it implement seems much harder to learn.
Yeah, it's not easy to derive what it does from the name. I do think it is easy to remember; backpassing with the "back" arrow.
"mode" in "imperative mode" feels like something you activate. "sequencing" seems like it could be a lot of things.
A unique name is good for searchability. For those that don't know what it's called, I imagine they would search for things like: "roc <-", "roc back arrow", "roc reverse arrow"... which should lead them to backpassing docs.
I'm not saying we could not improve on the name but I don't think it's bad.
...Naming it after the syntax sugar that it implement seems much harder to learn.
I think the quality of our explanation in the eventual "roc book", tutorial or documentation will mainly determine the difficulty to learn it. Attempting to hide the way the syntactic sugar works does not seem recommended either.
reverse lambda was something we tossed around a bit
I imagine people will use both synonymously
da-lamb
Last updated: Jul 06 2025 at 12:14 UTC