From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 10 Apr 93 15:43:08 GMT From: mcsun!sun4nl!cwi.nl!dik@uunet.uu.net (Dik T. Winter) Subject: Re: and then Message-ID: <9551@charon.cwi.nl> List-Id: In article <1993Apr10.010355.4244@nosc.mil> sampson@nosc.mil (Charles H. Sampso n) writes: > In the original requirements for Ada (Steelman), functions were not > allowed to have side effects. At least one of the candidate languages, > Blue if I remember correctly, took a stab at prohibiting them with rules > about exactly what kind of code a function could and could not contain. > Somewhere along the way the requirement vanished, either by explicit action > or benign neglect, probably because the requirement was considered draconi- > an. By that time I was pretty far out of the loop. The requirements vanished gradually. At one point there was not a dichotomy but a trichotomy: functions (pure, no side effects), procedures (pure) and value-returning procedures. For optimization purposes this is the best, but value-returning procedures fell out and functions with side-effects came in. The basic reason for the shift to value-returning procedures was that it is impossible to write such a basic thing as a random number generator without side-effects. -- dik t. winter, cwi, kruislaan 413, 1098 sj amsterdam, nederland home: bovenover 215, 1025 jn amsterdam, nederland; e-mail: dik@cwi.nl