aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorJean-Pierre De Jesus DIAZ <jean@foundationdevices.com>2023-05-21 13:34:14 +0200
committerLudovic Courtès <ludo@gnu.org>2023-06-02 16:27:29 +0200
commitbb7f978e602dec3b303bc88ee2e402c7b7645b6d (patch)
treec8347ecc692de822e6bc6d66c87013b127278229 /gnu/packages/ocaml.scm
parentd756564db5ee46b27ef65d226d16dbb8354e424e (diff)
downloadguix-bb7f978e602dec3b303bc88ee2e402c7b7645b6d.tar.gz
guix-bb7f978e602dec3b303bc88ee2e402c7b7645b6d.zip
gnu: Add ocaml-parmap.
* gnu/packages/ocaml.scm (ocaml-parmap): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f0b8f9e912..08036ba401 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -28,6 +28,7 @@
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2023 Csepp <raingloom@riseup.net>
+;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2698,6 +2699,42 @@ simple (yet expressive) query language to select the tests to run.")
syntactic tools.")
(license license:expat)))
+(define-public ocaml-parmap
+ (package
+ (name "ocaml-parmap")
+ (version "1.2.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rdicosmo/parmap")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0x5gnfap9f7kmgh8j725vxlbkvlplwzbpn8jdx2ywfa3dd6bn6xl"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-odoc))
+ (home-page "https://github.com/rdicosmo/parmap")
+ (synopsis "Parallel map and fold primtives for OCaml")
+ (description
+ "Library to perform parallel fold or map taking advantage of multiple
+core architectures for OCaml programs. Drop-in replacement for these
+@code{List} operations are provided:
+
+@itemize
+@item @code{List.map} -> @code{parmap}
+@item @code{List.map} -> @code{parfold}
+@item @code{List.mapfold} -> @code{parmapfold}
+@end itemize
+
+Also it allows specifying the number of cores to use with the optional
+parameter @code{ncores}.")
+ (license (list license:lgpl2.0
+ (license:fsdg-compatible "file://LICENSE"
+ "See LICENSE file for details")))))
+
(define-public ocaml-react
(package
(name "ocaml-react")