www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit e05f4a4ee3e95c870ccf56b3fd925ffa52fb9705
parent 5765dab97ce12807fa6ac10eec525c16cff71a4f
Author: Andreas Olsson <photoguy.apo@gmail.com>
Date:   Tue,  3 Jan 2017 14:39:22 +0100

Add files via upload
Diffstat:
Amain.rkt | 24++++++++++++++++++++++++
1 file changed, 24 insertions(+), 0 deletions(-)

diff --git a/main.rkt b/main.rkt @@ -0,0 +1,23 @@ +#lang racket + +;pmap is a parallel concurrent map function. +;its inspired of Clojures pmap. + +(require racket/future) + +(provide pmap) + +(define (transpose lists) ; collumns to rows! + (apply map list lists)) + +;(transpose '((1 3 5) (2 4 6))) ; test + +(define (pmap func . lists) ; pmap + (map touch + (for/list ([a (transpose lists)]) + (future (lambda () (apply func a))) + ))) + +;(pmap (lambda (x)(car x)) '((a b)(c d)(e f))) ; a test +;(pmap * '(1 2 3 4 5 6 7 8 9) '(1 2 3 4 5 6 7 8 9)) ; a nother test +;(pmap (lambda (x y) (* x y)) '(1 2 3 4 5 6 7 8 9) '(1 2 3 4 5 6 7 8 9)) ; yet a nother test! +\ No newline at end of file