GNU bug report logs -
#50836
[PATCH 0/5] Python logic programming packages
Previous Next
Reported by: Ryan Prior <rprior <at> protonmail.com>
Date: Mon, 27 Sep 2021 02:19:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 50836 in the body.
You can then email your comments to 50836 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:19:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ryan Prior <rprior <at> protonmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 27 Sep 2021 02:19:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi Guix! Here's a series of patches for software I use for logic programming in Python.
Ryan Prior (5):
gnu: Add python-multipledispatch.
gnu: Add python-logical-unification.
gnu: Add python-cons.
gnu: Add python-etuples.
gnu: Add python-minikanren.
gnu/packages/python-xyz.scm | 139 ++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:21:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 50836 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/python-xyz.scm (python-multipledispatch): New variable.
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a34c444a87..c833c95b5a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26584,6 +26584,26 @@ objects in the combined source, and how they define or use each other. The
graph can be output for rendering by GraphViz or yEd.")
(license license:gpl2)))
+(define-public python-multipledispatch
+ (package
+ (name "python-multipledispatch")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "multipledispatch" version))
+ (sha256
+ (base32
+ "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
+ (build-system python-build-system)
+ (propagated-inputs `(("six" ,python-six)))
+ (home-page
+ "http://github.com/mrocklin/multipledispatch/")
+ (synopsis "Multiple dispatch for Python based on pattern matching")
+ (description "This library provides an efficient mechanism for overloading
+function implementations based on the types of the arguments.")
+ (license license:bsd-3)))
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:21:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 50836 <at> debbugs.gnu.org (full text, mbox):
gnu/packages/python-xyz.scm (python-logical-unification): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c833c95b5a..bc5ab67e6b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26604,6 +26604,28 @@ graph can be output for rendering by GraphViz or yEd.")
function implementations based on the types of the arguments.")
(license license:bsd-3)))
+(define-public python-logical-unification
+ (package
+ (name "python-logical-unification")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "logical-unification" version))
+ (sha256
+ (base32
+ "0j57953hi7kg2rl0163vzjzsvzdyjimnklhx6idf5vaqqf1d3p1j"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("multipledispatch" ,python-multipledispatch)
+ ("toolz" ,python-toolz)))
+ (home-page
+ "http://github.com/pythological/unification/")
+ (synopsis "Logical unification in Python for solving symbolic expressions")
+ (description "This library provides algorithms and data types for solving
+symbolic expressions in pure Python using the technique of logical unification.")
+ (license license:bsd-3)))
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:21:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 50836 <at> debbugs.gnu.org (full text, mbox):
gnu/packages/python-xyz.scm (python-etuples): New variable.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1f6388d2bc..0b002c42dc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26653,6 +26653,30 @@ symbolic expressions in pure Python using the technique of logical unification."
cons cells in Python.")
(license license:lgpl3+)))
+(define-public python-etuples
+ (package
+ (name "python-etuples")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "etuples" version))
+ (sha256
+ (base32
+ "0jhfyp177v37rl0i7wqfx7q6s5qkz027hl283d1x8d0vm3w0zqc8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cons" ,python-cons)
+ ("python-multipledispatch"
+ ,python-multipledispatch)))
+ (home-page
+ "http://github.com/pythological/etuples")
+ (synopsis
+ "S-expressions in Python")
+ (description
+ "This library implements eval'able S-expression in Python using tuple-like objects.")
+ (license license:asl2.0)))
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:21:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 50836 <at> debbugs.gnu.org (full text, mbox):
gnu/packages/python-xyz.scm (python-minikanren): New variable.
---
gnu/packages/python-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0b002c42dc..4437de6374 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26677,6 +26677,52 @@ cons cells in Python.")
"This library implements eval'able S-expression in Python using tuple-like objects.")
(license license:asl2.0)))
+(define-public python-minikanren
+ (package
+ (name "python-minikanren")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pythological/kanren")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g7wfj5hxalwz7k1301nsjqhjpzsif1bj6wjm2x2kavlm2ypv9jc"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-v" "tests/" "kanren/"))
+ #t)))))
+ (native-inputs
+ `(("python-coveralls" ,python-coveralls)
+ ("python-pydocstyle" ,python-pydocstyle)
+ ("python-pytest <at> 6.2.4" ,python-pytest)
+ ("python-pytest-cov <at> 2.8.1" ,python-pytest-cov)
+ ("python-pylint <at> 2.5.3" ,python-pylint)
+ ("python-black <at> 20.8b1" ,python-black)
+ ("python-sympy <at> 1.7.1" ,python-sympy)
+ ("python-versioneer <at> 0.19" ,python-versioneer)
+ ("python-coverage <at> 5.2.1" ,python-coverage)
+ ("python-pre-commit <at> 2.10.0" ,python-pre-commit)))
+ (propagated-inputs
+ `(("toolz <at> 0.11.1" ,python-toolz)
+ ("cons" ,python-cons)
+ ("multipledispatch" ,python-multipledispatch)
+ ("etuples" ,python-etuples)
+ ("logical-unification" ,python-logical-unification)))
+ (home-page "https://github.com/pythological/kanren")
+ (synopsis "Relational logic programming in pure Python")
+ (description
+ "The minikanren library provides an algorithmic core for computer algebra
+systems in Python.")
+ (license license:bsd-3)))
+
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 02:21:04 GMT)
Full text and
rfc822 format available.
Message #20 received at 50836 <at> debbugs.gnu.org (full text, mbox):
gnu/packages/python-xyz.scm (python-cons): New variable.
---
gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bc5ab67e6b..1f6388d2bc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26626,6 +26626,33 @@ function implementations based on the types of the arguments.")
symbolic expressions in pure Python using the technique of logical unification.")
(license license:bsd-3)))
+(define-public python-cons
+ (package
+ (name "python-cons")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cons" version))
+ (sha256
+ (base32
+ "0w9giq196wps7mbm47c4shdzs5yvwvqajqzkim2p92i51sm5qgvm"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("pytest <at> 6.2.4" ,python-pytest-6)
+ ("toml <at> 0.10.2" ,python-toml)))
+ (propagated-inputs
+ `(("python-logical-unification"
+ ,python-logical-unification)))
+ (home-page
+ "https://github.com/pythological/python-cons")
+ (synopsis
+ "Cons cell data structures and related algorithms for Python")
+ (description
+ "This library implements algorithms and data structures for Lisp-style
+cons cells in Python.")
+ (license license:lgpl3+)))
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
--
2.33.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#50836
; Package
guix-patches
.
(Mon, 27 Sep 2021 10:29:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 50836 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ryan Prior via Guix-patches via schreef op ma 27-09-2021 om 02:20 [+0000]:
> * gnu/packages/python-xyz.scm (python-multipledispatch): New variable.
> ---
> gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index a34c444a87..c833c95b5a 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -26584,6 +26584,26 @@ objects in the combined source, and how they define or use each other. The
> graph can be output for rendering by GraphViz or yEd.")
> (license license:gpl2)))
>
> +(define-public python-multipledispatch
> + (package
> + (name "python-multipledispatch")
> + (version "0.6.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "multipledispatch" version))
> + (sha256
> + (base32
> + "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
> + (build-system python-build-system)
> + (propagated-inputs `(("six" ,python-six)))
The convention is to use the package name of the input package as input
label ("python-six" instead of "six" in this case). This is important for
the "guix style" in <https://issues.guix.gnu.org/49169>, which, when it will
be in master, allows writing this package definition as
(define-public python-multipledispatch
(package
(name "python-multipledispatch")
...
(propagated-inputs (list python-six))
...))
(The long-term goal appears to be to remove input labels completely.)
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Mon, 15 Nov 2021 13:43:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ryan Prior <rprior <at> protonmail.com>
:
bug acknowledged by developer.
(Mon, 15 Nov 2021 13:43:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 50836-done <at> debbugs.gnu.org (full text, mbox):
Hi,
Ryan Prior <rprior <at> protonmail.com> skribis:
> gnu: Add python-multipledispatch.
> gnu: Add python-logical-unification.
> gnu: Add python-cons.
> gnu: Add python-etuples.
> gnu: Add python-minikanren.
I adjusted input labels as Maxime suggested, addressed minor issues
reported by ‘guix lint’, and committed the whole thing.
I didn’t know miniKanren (and ‘cons’ :-)) had been ported to Python,
sweet!
Thanks,
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 14 Dec 2021 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 104 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.