pkgsrc-Changes archive

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

CVS commit: pkgsrc/math/hs-natural-arithmetic



Module Name:    pkgsrc
Committed By:   pho
Date:           Fri Mar  7 15:57:54 UTC 2025

Added Files:
        pkgsrc/math/hs-natural-arithmetic: DESCR Makefile PLIST buildlink3.mk
            distinfo

Log Message:
math/hs-natural-arithmetic: import hs-natural-arithmetic-0.2.1.0

A search for terms like arithmetic and natural on hackage reveals no
shortage of libraries for handling the arithmetic of natural numbers. How is
this library any different some of the others? It has a particular purpose:
providing a foundation on top on which other libraries may define types
indexed by sizes. This uses GHC's non-inductively-defined GHC.TypeNats.Nat.
As a rule, this does not use unsafeCoerce internally anywhere.

Perhaps the most direct competitor to `natural-arithmetic` is a typechecker
plugin like type-nat-solver (https://github.com/yav/type-nat-solver). The
big difference is that `type-nat-solver` can really only be used in
application code, not in library code. This is because libraries should not
require the presence of typechecker plugins. Technically, they can (you
could document it), but many developers will not use libraries that have
unusual install procedures like this.

This library, in places, requires users to use the TypeApplications language
extension. This is done when a number is only need at the type level
(without a runtime witness).

This library uses a non-minimal core, providing redundant primitives
in Arithmetic.Lt and Arithmetic.Lte. This is done in the interest of making
it easy for user to assemble proofs. Recall that proof assembly is done by
hand rather than by an SMT solver, so removing some tediousness from this is
helpful to users.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/math/hs-natural-arithmetic/DESCR \
    pkgsrc/math/hs-natural-arithmetic/Makefile \
    pkgsrc/math/hs-natural-arithmetic/PLIST \
    pkgsrc/math/hs-natural-arithmetic/buildlink3.mk \
    pkgsrc/math/hs-natural-arithmetic/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/math/hs-natural-arithmetic/DESCR
diff -u /dev/null pkgsrc/math/hs-natural-arithmetic/DESCR:1.1
--- /dev/null   Fri Mar  7 15:57:54 2025
+++ pkgsrc/math/hs-natural-arithmetic/DESCR     Fri Mar  7 15:57:54 2025
@@ -0,0 +1,24 @@
+A search for terms like arithmetic and natural on hackage reveals no
+shortage of libraries for handling the arithmetic of natural numbers. How is
+this library any different some of the others? It has a particular purpose:
+providing a foundation on top on which other libraries may define types
+indexed by sizes. This uses GHC's non-inductively-defined GHC.TypeNats.Nat.
+As a rule, this does not use unsafeCoerce internally anywhere.
+
+Perhaps the most direct competitor to `natural-arithmetic` is a typechecker
+plugin like type-nat-solver (https://github.com/yav/type-nat-solver). The
+big difference is that `type-nat-solver` can really only be used in
+application code, not in library code. This is because libraries should not
+require the presence of typechecker plugins. Technically, they can (you
+could document it), but many developers will not use libraries that have
+unusual install procedures like this.
+
+This library, in places, requires users to use the TypeApplications language
+extension. This is done when a number is only need at the type level
+(without a runtime witness).
+
+This library uses a non-minimal core, providing redundant primitives
+in Arithmetic.Lt and Arithmetic.Lte. This is done in the interest of making
+it easy for user to assemble proofs. Recall that proof assembly is done by
+hand rather than by an SMT solver, so removing some tediousness from this is
+helpful to users.
Index: pkgsrc/math/hs-natural-arithmetic/Makefile
diff -u /dev/null pkgsrc/math/hs-natural-arithmetic/Makefile:1.1
--- /dev/null   Fri Mar  7 15:57:54 2025
+++ pkgsrc/math/hs-natural-arithmetic/Makefile  Fri Mar  7 15:57:54 2025
@@ -0,0 +1,12 @@
+# $NetBSD: Makefile,v 1.1 2025/03/07 15:57:54 pho Exp $
+
+DISTNAME=      natural-arithmetic-0.2.1.0
+CATEGORIES=    math
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+COMMENT=       Arithmetic of natural numbers
+LICENSE=       modified-bsd
+
+.include "../../devel/hs-unlifted/buildlink3.mk"
+.include "../../mk/haskell.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/math/hs-natural-arithmetic/PLIST
diff -u /dev/null pkgsrc/math/hs-natural-arithmetic/PLIST:1.1
--- /dev/null   Fri Mar  7 15:57:54 2025
+++ pkgsrc/math/hs-natural-arithmetic/PLIST     Fri Mar  7 15:57:54 2025
@@ -0,0 +1,48 @@
+@comment $NetBSD: PLIST,v 1.1 2025/03/07 15:57:54 pho Exp $
+${PLIST.shlibs}lib/${HS_PLATFORM}/libHS${HS_PKGID}-${HS_VER}.so
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Equal.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Equal.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Equal.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Fin.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Fin.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Fin.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lt.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lt.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lt.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lte.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lte.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Lte.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Nat.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Nat.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Nat.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Plus.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Plus.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Plus.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Types.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Types.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Types.p_hi
+${PLIST.shlibs}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Unsafe.dyn_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Unsafe.hi
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/Arithmetic/Unsafe.p_hi
+lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}.a
+${PLIST.prof}lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}_p.a
+lib/natural-arithmetic-${PKGVERSION}/${HS_VERSION}/package-description
+lib/natural-arithmetic-${PKGVERSION}/${HS_VERSION}/package-id
+share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/LICENSE
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Equal.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Fin.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Lt.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Lte.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Nat.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Plus.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Types.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/Arithmetic-Unsafe.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/CHANGELOG.md
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/doc-index.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/haddock-bundle.min.js
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/index.html
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/linuwial.css
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/meta.json
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/natural-arithmetic.haddock
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/quick-jump.css
+${PLIST.doc}share/doc/${HS_PLATFORM}/natural-arithmetic-${PKGVERSION}/html/synopsis.png
Index: pkgsrc/math/hs-natural-arithmetic/buildlink3.mk
diff -u /dev/null pkgsrc/math/hs-natural-arithmetic/buildlink3.mk:1.1
--- /dev/null   Fri Mar  7 15:57:54 2025
+++ pkgsrc/math/hs-natural-arithmetic/buildlink3.mk     Fri Mar  7 15:57:54 2025
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2025/03/07 15:57:54 pho Exp $
+
+BUILDLINK_TREE+=       hs-natural-arithmetic
+
+.if !defined(HS_NATURAL_ARITHMETIC_BUILDLINK3_MK)
+HS_NATURAL_ARITHMETIC_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.hs-natural-arithmetic+=  hs-natural-arithmetic>=0.2.1
+BUILDLINK_ABI_DEPENDS.hs-natural-arithmetic+=  hs-natural-arithmetic>=0.2.1.0
+BUILDLINK_PKGSRCDIR.hs-natural-arithmetic?=    ../../math/hs-natural-arithmetic
+
+.include "../../devel/hs-unlifted/buildlink3.mk"
+.endif # HS_NATURAL_ARITHMETIC_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -hs-natural-arithmetic
Index: pkgsrc/math/hs-natural-arithmetic/distinfo
diff -u /dev/null pkgsrc/math/hs-natural-arithmetic/distinfo:1.1
--- /dev/null   Fri Mar  7 15:57:54 2025
+++ pkgsrc/math/hs-natural-arithmetic/distinfo  Fri Mar  7 15:57:54 2025
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1 2025/03/07 15:57:54 pho Exp $
+
+BLAKE2s (natural-arithmetic-0.2.1.0.tar.gz) = e7c8992c7e44dd76f863f0bfc191ce75de8b26def4f8295ba5c54674268d0807
+SHA512 (natural-arithmetic-0.2.1.0.tar.gz) = 13fd1aeedba1bfe3c7ec653d1d388d313fb5768dd149700cf177a5e0ccc5251f95a3cdad7ca607295272fe24f2d1341656f6d1ea039ac001a875b803fbdf3935
+Size (natural-arithmetic-0.2.1.0.tar.gz) = 12479 bytes



Home | Main Index | Thread Index | Old Index