[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

parallel argument evaluation



    Date: Fri, 17 Jun 88 11:26:01 EDT
    From: Paul Hudak <hudak-paul@YALE.ARPA>

    But a very small change to your example:

        (- (rand) (rand))

    makes even sequential programs unportable!  Sigh ... :-(

There's a big difference between "deterministic" and "portable".  If
this program is only specified to return the difference of two random
numbers, then the above works fine with indeterminate order, but not
with parallel argument evaluation.  Similarly, a program that
accumulates results by doing (set! foo (cons result foo)) variable may
not care in what order the results appear, so long as they do appear in
some order.  So it's okay for the results to be so accumulated as side
effects of argument computations.