Remix.run Logo
mastermage 3 days ago

That's why procedure is so much better of a name. It's not a hill I'm willing to die on but I think it's correct.

jasperry 3 days ago | parent | next [-]

Seconded. Languages could even use "function" only for pure functions and "procedure" for everything else. Pascal uses "procedure" for things that don't return a value, but I think the pure vs. side effect distinction is more useful.

austin-cheney 3 days ago | parent [-]

In languages that have block scope a procedure is that block. It’s a boundary but receives no input and does not return output. Functions do allow input and do return output. This distinction is clear in C lang that has both functions and procedures.

As a new language design feature procedures could be assigned to references for reuse in the same way as calling a function by name/variable.

jasperry 3 days ago | parent [-]

I've never heard of blocks in block-scoped languages being called procedures. I feel like the word "block" is well understood and serves the purpose fine. In lots of other languages, things called procedures do take input, like Ruby, which has first-class Procs like you mentioned.

ffsm8 3 days ago | parent | prev [-]

And let's use the keyword "go-to" to run a function, back to the basics basically ಥ ‿ ಥ

mastermage 3 days ago | parent [-]

ok maybe not that, that was awful.