Commit initial version
[guile-orca] / examples / rpc-stream-for-each-print.scm
1 #!/usr/bin/env -S guile -s
2 !#
3
4 (add-to-load-path "..")
5 (use-modules (orca))
6 (use-modules (ice-9 streams))
7
8 (define stream-add-two (make-stream (lambda (state)
9                                       (if (> state (* 2 (rpc-worker-process-size)))
10                                         '()
11                                         (cons state (+ state 2))))
12                          (rpc-worker-process-id)))
13
14 (define stream-add-one (make-stream (lambda (state)
15                                      (if (> state (* 2 (rpc-worker-process-size)))
16                                        '()
17                                        (cons state (+ state 1))))
18                         (rpc-worker-process-id)))
19
20 (define (display-all return a b) (display a) (newline) (display b) (newline) (newline))
21
22 (rpc-start)
23
24 (display "I'm master process.")
25 (newline)
26
27 (rpc-stream-for-each display-all stream-add-one stream-add-two)
28
29 (rpc-finalize)