#| -*-Scheme-*-
-$Id: order.scm,v 4.16 1999/01/02 06:06:43 cph Exp $
+$Id: order.scm,v 4.17 2000/05/03 19:18:28 cph Exp $
-Copyright (c) 1988, 1989, 1990, 1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1990, 1999, 2000 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
\f
(define (subproblem-ordering parallels)
(for-each (lambda (parallel)
- (order-parallel! parallel false))
+ (order-parallel! parallel #f))
parallels))
(define (order-parallel! parallel constraints)
(values
(linearize-subproblem! continuation-type/effect
operator
- false
+ #f
(linearize-subproblems simple
'()
rest))
(linearize-subproblem!
continuation-type/effect
operator
- false
+ #f
(linearize-subproblems
push-set
'()
(combination/context combination)
n-unassigned
'()))))
- (map (lambda (variable subproblem)
- (cons subproblem variable))
- (append (cdr (procedure-original-required model))
- (procedure-original-optional model))
- (cdr (parallel-subproblems parallel))))
+ (let ((parameters
+ (append (cdr (procedure-original-required model))
+ (procedure-original-optional model)))
+ (arguments (cdr (parallel-subproblems parallel))))
+ (map (lambda (variable subproblem)
+ (cons subproblem variable))
+ parameters
+ (let ((n-parameters (length parameters)))
+ (if (> (length arguments) n-parameters)
+ (list-head arguments n-parameters)
+ arguments)))))
'())))
\f
(define (combination-ordering context operator operands model)
(not (primitive-procedure? (constant-value callee))))
((rvalue/procedure? callee)
(case (procedure/type callee)
- ((OPEN-EXTERNAL OPEN-INTERNAL) false)
+ ((OPEN-EXTERNAL OPEN-INTERNAL) #f)
((TRIVIAL-CLOSURE) (procedure-rest callee))
- ((CLOSURE IC) true)
+ ((CLOSURE IC) #t)
(else (error "Unknown procedure type" callee))))
- (else
- true))))
+ (else #t))))
(define (update-subproblem-contexts! context subproblem)
(if (not (subproblem-canonical? subproblem))