From cf123e321d4d0843b596a2b106643b2ddc8ca9d7 Mon Sep 17 00:00:00 2001
From: Marius Bakke <marius@gnu.org>
Date: Wed, 10 Jun 2020 01:04:37 +0200
Subject: [PATCH] gnu: Add ghc-psqueue.

* gnu/packages/haskell-xyz.scm (ghc-psqueue): New public variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 6908050afc..0508916ead 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9812,6 +9812,29 @@ the ideal templating system.")
 replace the standard one provided by GHC.")
     (license license:expat)))
 
+(define-public ghc-psqueue
+  (package
+    (name "ghc-psqueue")
+    (version "1.1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://hackage/package/PSQueue-"
+                                  version "/PSQueue-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
+    (build-system haskell-build-system)
+    (home-page "https://hackage.haskell.org/package/PSQueue")
+    (synopsis "Priority search queue")
+    (description
+     "A @dfn{priority search queue} efficiently supports the operations of
+both a search tree and a priority queue.  A @code{Binding} is a product of
+a key and a priority.  Bindings can be inserted, deleted, modified and queried
+in logarithmic time, and the binding with the least priority can be retrieved
+in constant time.  A queue can be built from a list of bindings, sorted by
+keys, in linear time.")
+    (license license:bsd-3)))
+
 (define-public ghc-psqueues
   (package
     (name "ghc-psqueues")