On Tue, Jan 22, 2019 at 01:52:15AM -0500, George Neuner wrote: > > I am arguing that, in computing, functions and procedures have no > significant difference, and that distinguishing them erroneously conflates > computing with mathematics and thus confuses people.
The distinction I've heard from people that care abut these things and that seems to make sense are fo divide these subrutines into * procedures * do things, have side effects * Value-returning procedures * procedures that happen to return values * functions * that return values and have no side effects (or side dependencies?) But it hasn't been very practical to make these distinctions in computer programs, because there is no effective way to distinguish such functions from value-returning proedures. The restriction that functions can use only other functions doesn't really work because * Too many things that behave like functions use side-effects internally while returning values that depend only on their arguments. * Applied strictly, it rules out memo pads. The distinction, if it could be practically enforced, would give optimisers significant opportunity for program tranformation. -- hendrik -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.