+2002-12-09 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (letpar): New macro.
+
2002-12-08 Rob Browning <rlb@defaultvalue.org>
* debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
2002-12-04 Mikael Djurfeldt <mdj@linnaeus>
- * threads.scm (par-map, par-for-each, parallel):
+ * threads.scm (parallel): New macro.
+ (par-map, par-for-each): New procedures.
* documentation.scm (object-documentation): Added support for
defmacros.
:export-syntax (make-thread
begin-thread
parallel
+ letpar
with-mutex
monitor))
(wait-condition-variable ,c ,m)
(values ,@vars))))))
+(defmacro letpar (bindings . body)
+ `(call-with-values
+ (lambda ()
+ (parallel ,@(map cadr bindings)))
+ (lambda ,(map car bindings)
+ ,@body)))
+
(defmacro with-mutex (m . body)
`(dynamic-wind
(lambda () (lock-mutex ,m))