Changeset 3477

Show
Ignore:
Timestamp:
05/20/05 00:33:01 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5016
Message:

* &reduce always reduce from left to right, unlike ...

Location:
src/Pugs
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim.hs

    r3473 r3477  
    613613op2 "map"  = op2Map 
    614614op2 "join" = op2Join 
    615 op2 "reduce" = op2Fold 
     615op2 "reduce" = op2FoldL 
    616616op2 "kill" = \s v -> do 
    617617    sig  <- fromVal s 
  • src/Pugs/Prim/List.hs

    r3476 r3477  
    11module Pugs.Prim.List ( 
    22    op0Zip, op1Pick, op1Sum, 
    3     op2Fold, op2Grep, op2Map, op2Join, 
     3    op2FoldL, op2Fold, op2Grep, op2Map, op2Join, 
    44    sortByM, 
    55) where 
     
    4747    vals <- fromVal list 
    4848    foldM (op2Numeric (+)) undef vals 
     49 
     50op2FoldL :: Val -> Val -> Eval Val 
     51op2FoldL sub@(VCode _) list = op2FoldL list sub 
     52op2FoldL list sub = do 
     53    code <- fromVal sub 
     54    op2Fold list $ VCode code{ subAssoc = "left" } 
    4955 
    5056op2Fold :: Val -> Val -> Eval Val