guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/08: gnu: Add ocaml-parsexp.


From: guix-commits
Subject: 02/08: gnu: Add ocaml-parsexp.
Date: Wed, 16 Jan 2019 14:09:09 -0500 (EST)

roptat pushed a commit to branch master
in repository guix.

commit 7726124ae20e371fd95917cf4a7b4f621b0f5220
Author: Gabriel Hondet <address@hidden>
Date:   Thu Jan 3 08:26:51 2019 +0100

    gnu: Add ocaml-parsexp.
    
    * gnu/packages/ocaml.scm (ocaml-parsexp): New variable.
    
    Signed-off-by: Julien Lepiller <address@hidden>
---
 gnu/packages/ocaml.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 65df9d4..9103dd9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4890,3 +4890,49 @@ base converters")
 libraries is an industrial strength alternative to OCaml's standard library
 that was developed by Jane Street, the largest industrial user of OCaml.")
 (license license:expat)))
+
+(define-public ocaml-parsexp
+  (package
+    (name "ocaml-parsexp")
+    (version "0.11.0")
+    (home-page "https://github.com/janestreet/parsexp";)
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (synopsis "S-expression parsing library")
+    (description
+     "This library provides generic parsers for parsing S-expressions from
+strings or other medium.
+
+The library is focused on performances but still provide full generic
+parsers that can be used with strings, bigstrings, lexing buffers,
+character streams or any other sources effortlessly.
+
+It provides three different class of parsers:
address@hidden
address@hidden
+the normal parsers, producing [Sexp.t] or [Sexp.t list] values
address@hidden
+the parsers with positions, building compact position sequences so
+that one can recover original positions in order to report properly
+located errors at little cost
address@hidden
+the Concrete Syntax Tree parsers, produce values of type
address@hidden which record the concrete layout of the s-expression
+syntax, including comments
address@hidden itemize
+
+This library is portable and doesn't provide IO functions.  To read
+s-expressions from files or other external sources, you should use
+parsexp_io.")
+    (license license:expat)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]