
Eden (http://www.mathematik.uni-marburg.de/inf/eden) is a parallel extension of Haskell that provides processes which communicate via streams (lazy lists). In Eden, your pseudocode would look like: sender :: Int -> Process () [Int] sender n = process () -> [n,n+1..] receiver :: Process [Int] [Results] receiver = process xs -> consume xs where consume :: [Int] -> [Results] main = print (receiver # (sender # ())) The type Process a b belongs to a process abstraction which defines a process consuming input of type a and producing output of type b. # :: Process a b -> a -> b applies a process abstraction to input. This leads to the creation of the process and its interconnecting channels. Regards Rita -- Rita Loogen Fachbereich Mathematik und Informatik, Philipps-Universitaet Marburg, Germany http://www.mathematik.uni-marburg.de/~loogen --