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.

Reply via email to