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 ;;; Copyright © 2022 Garek Dyszel ;;; Copyright © 2023 Csepp +;;; Copyright © 2023 Foundation Devices, Inc. ;;; ;;; 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")