sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (55d4b47bb0fbb18028198cd4ec07cdfb55be8f46)
- From: Ismael Luceno <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (55d4b47bb0fbb18028198cd4ec07cdfb55be8f46)
- Date: Wed, 19 Aug 2026 18:05:05 +0000
GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:
ChangeLog | 2 +
haskell/haskell-strict/DEPENDS | 4 ++
haskell/haskell-strict/DETAILS | 50
++++++++++++++++++++++++++++++++++
haskell/haskell-strict/HISTORY | 2 +
haskell/haskell-strict/PRE_BUILD | 5 +++
haskell/haskell-time-compat/DEPENDS | 3 ++
haskell/haskell-time-compat/DETAILS | 24 ++++++++++++++++
haskell/haskell-time-compat/HISTORY | 2 +
haskell/haskell-time-compat/PRE_BUILD | 5 +++
haskell/haskell-uuid-types/DEPENDS | 4 --
haskell/haskell-uuid-types/DETAILS | 10 +++---
haskell/haskell-uuid-types/HISTORY | 3 ++
12 files changed, 106 insertions(+), 8 deletions(-)
New commits:
commit 55d4b47bb0fbb18028198cd4ec07cdfb55be8f46
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
haskell-time-compat: new spell, Compatibility package for time
commit 343902040e20fe834bb713c3d2f16064f13a6f2b
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
haskell-uuid-types 1.0.6.1
commit 32fb79b54e2976b8d901bfb1466bd5da25345c62
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
haskell-strict: new spell, Strict data types and String IO.
diff --git a/ChangeLog b/ChangeLog
index 1e66ac4..550aee4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,8 @@
* haskell/haskell-assoc: new spell, swap and assoc: Symmetric and
Semigroupy Bifunctors
* haskell/haskell-these: new spell, An either-or-both data type.
* haskell/haskell-semialign: new spell, Align and Zip type-classes
from the common Semialign ancestor.
+ * haskell/haskell-strict: new spell, Strict data types and String IO.
+ * haskell/haskell-time-compat: new spell, Compatibility package for
time
2026-08-16 Treeve Jelbert <treeve AT sourcemage.org>
* poetry_core: added
diff --git a/haskell/haskell-strict/DEPENDS b/haskell/haskell-strict/DEPENDS
new file mode 100755
index 0000000..b330516
--- /dev/null
+++ b/haskell/haskell-strict/DEPENDS
@@ -0,0 +1,4 @@
+depends ghc &&
+depends haskell-assoc &&
+depends haskell-hashable &&
+depends haskell-these
diff --git a/haskell/haskell-strict/DETAILS b/haskell/haskell-strict/DETAILS
new file mode 100755
index 0000000..22c543a
--- /dev/null
+++ b/haskell/haskell-strict/DETAILS
@@ -0,0 +1,50 @@
+ SPELL=haskell-strict
+ VERSION=0.5.1
+ SOURCE="strict-${VERSION}.tar.gz"
+
SOURCE_URL[0]=https://hackage.haskell.org/package/strict-${VERSION}/${SOURCE}
+
SOURCE_HASH=sha512:059e94e8d21ef66b852515ee80daebc32e9de28af786f8ec65badb584ff67d59d603a699980ac84d46ef5fe3ceb048d6e968881ed9d82b5cb0efdb8833a64cc1
+ SOURCE2="strict-${VERSION}-rev1.cabal"
+
SOURCE2_URL[0]=https://hackage.haskell.org/package/strict-${VERSION}/revision/1.cabal
+
SOURCE2_HASH=sha512:64caf51b164330d2d9b3197dec7c871a55b341c9e08f70c79ebaeb92e4babb5db9f68c9025ff8c350413887fdf9843bbbf42a7c490c8af825b00bc9f4a18a016
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/strict-${VERSION}"
+ WEB_SITE="https://github.com/haskell-strict/strict"
+ LICENSE[0]=BSD3
+ ENTERED=20260818
+ SHORT="Strict data types and String IO."
+cat << EOF
+This package provides strict versions of some standard Haskell data types
+(pairs, Maybe and Either). It also contains strict IO operations.
+
+It is common knowledge that lazy datastructures can lead to space-leaks. This
+problem is particularly prominent, when using lazy datastructures to store
the
+state of a long-running application in memory. One common solution to this
+problem is to use @seq@ and its variants in every piece of code that updates
+your state. However a much easier solution is to use fully strict types to
+store such state values. By \\"fully strict types\\" we mean types for whose
+values it holds that, if they are in weak-head normal form, then they are
also
+in normal form. Intuitively, this means that values of fully strict types
+cannot contain unevaluated thunks.
+
+To define a fully strict datatype, one typically uses the following recipe.
+
+1. Make all fields of every constructor strict; i.e., add a bang to all
+fields.
+
+2. Use only strict types for the fields of the constructors.
+
+The second requirement is problematic as it rules out the use of the standard
+Haskell 'Maybe', 'Either', and pair types. This library solves this problem
by
+providing strict variants of these types and their corresponding standard
+support functions and type-class instances.
+
+Note that this library does currently not provide fully strict lists. They
can
+be added if they are really required. However, in many cases one probably
+wants to use unboxed or strict boxed vectors from the 'vector' library
+(<http://hackage.haskell.org/package/vector>) instead of strict lists.
+Moreover, instead of @String@s one probably wants to use strict @Text@ values
+from the @text@ library (<http://hackage.haskell.org/package/text>).
+
+This library comes with batteries included; i.e., mirror functions and
+instances of the lazy versions in @base@. It also includes instances for
+type-classes from the @deepseq@, @binary@, and @hashable@ packages.
+EOF
diff --git a/haskell/haskell-strict/HISTORY b/haskell/haskell-strict/HISTORY
new file mode 100644
index 0000000..67a28d1
--- /dev/null
+++ b/haskell/haskell-strict/HISTORY
@@ -0,0 +1,2 @@
+2026-08-18 Ismael Luceno <ismael AT sourcemage.org>
+ * DEPENDS, DETAILS, PRE_BUILD: spell created
diff --git a/haskell/haskell-strict/PRE_BUILD
b/haskell/haskell-strict/PRE_BUILD
new file mode 100755
index 0000000..6ab7447
--- /dev/null
+++ b/haskell/haskell-strict/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+verify_file 2 &&
+
+# Hackage revision 1: not in the sdist tarball.
+cp -v "$SOURCE_CACHE/$SOURCE2" "$SOURCE_DIRECTORY/strict.cabal"
diff --git a/haskell/haskell-time-compat/DEPENDS
b/haskell/haskell-time-compat/DEPENDS
new file mode 100755
index 0000000..c9dba26
--- /dev/null
+++ b/haskell/haskell-time-compat/DEPENDS
@@ -0,0 +1,3 @@
+depends ghc &&
+depends haskell-base-orphans &&
+depends haskell-hashable
diff --git a/haskell/haskell-time-compat/DETAILS
b/haskell/haskell-time-compat/DETAILS
new file mode 100755
index 0000000..563326d
--- /dev/null
+++ b/haskell/haskell-time-compat/DETAILS
@@ -0,0 +1,24 @@
+ SPELL=haskell-time-compat
+ VERSION=1.9.9
+ SOURCE="time-compat-${VERSION}.tar.gz"
+
SOURCE_URL[0]=https://hackage.haskell.org/package/time-compat-${VERSION}/${SOURCE}
+
SOURCE_HASH=sha512:cf4926f53448580ec8452ecdf12e31a9dc5f4641ca82690d66a210deef04cc6f3f37482cdc48eb19f06cd35f467c02b955b208b35a2756ccfb4c9e93ccbf072a
+ SOURCE2="time-compat-${VERSION}-rev1.cabal"
+
SOURCE2_URL[0]=https://hackage.haskell.org/package/time-compat-${VERSION}/revision/1.cabal
+
SOURCE2_HASH=sha512:c587a801a739a72c3c4f50e2e82b6282334dcac7edb6acd2347a7f281de11ef1c2c313c6d356069ee1629fb991180d2cfa5edd695d2d3588581eacfd1f15507e
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/time-compat-${VERSION}"
+ WEB_SITE="https://github.com/haskellari/time-compat"
+ LICENSE[0]=BSD3
+ ENTERED=20260818
+ SHORT="Compatibility package for time"
+cat << EOF
+This packages tries to compat as much of @time@ features as possible.
+
+/TODO:/
+
+* Difference type @ParseTime@ and @FormatTime@ instances are missing.
+
+* Formatting varies depending on underlying @time@ version
+
+* @dayFractionToTimeOfDay@ on extreme values
+EOF
diff --git a/haskell/haskell-time-compat/HISTORY
b/haskell/haskell-time-compat/HISTORY
new file mode 100644
index 0000000..67a28d1
--- /dev/null
+++ b/haskell/haskell-time-compat/HISTORY
@@ -0,0 +1,2 @@
+2026-08-18 Ismael Luceno <ismael AT sourcemage.org>
+ * DEPENDS, DETAILS, PRE_BUILD: spell created
diff --git a/haskell/haskell-time-compat/PRE_BUILD
b/haskell/haskell-time-compat/PRE_BUILD
new file mode 100755
index 0000000..28dbbba
--- /dev/null
+++ b/haskell/haskell-time-compat/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+verify_file 2 &&
+
+# Hackage revision 1: not in the sdist tarball.
+cp -v "$SOURCE_CACHE/$SOURCE2" "$SOURCE_DIRECTORY/time-compat.cabal"
diff --git a/haskell/haskell-uuid-types/DEPENDS
b/haskell/haskell-uuid-types/DEPENDS
index 2ed67ae..3ce0724 100755
--- a/haskell/haskell-uuid-types/DEPENDS
+++ b/haskell/haskell-uuid-types/DEPENDS
@@ -1,5 +1,3 @@
depends ghc &&
-
depends haskell-hashable &&
-depends haskell-random &&
-depends haskell-text
+depends haskell-random
diff --git a/haskell/haskell-uuid-types/DETAILS
b/haskell/haskell-uuid-types/DETAILS
index c87980f..0c27b77 100755
--- a/haskell/haskell-uuid-types/DETAILS
+++ b/haskell/haskell-uuid-types/DETAILS
@@ -1,9 +1,9 @@
SPELL=haskell-uuid-types
- VERSION=1.0.3
- SOURCE="uuid-types-$VERSION.tar.gz"
-
SOURCE_URL[0]=http://hackage.haskell.org/package/uuid-types-$VERSION/$SOURCE
-
SOURCE_HASH=sha512:039bccea9ee22388a50e3e233c95afdd3a59f01aa5f552dcd8e8c1ded8f9da210933c58a4d9cc0913c768b587c24ee27fa0eed15e531846ea841b666f513df9e
-SOURCE_DIRECTORY="$BUILD_DIRECTORY/uuid-types-$VERSION"
+ VERSION=1.0.6.1
+ SOURCE="uuid-types-${VERSION}.tar.gz"
+
SOURCE_URL[0]=https://hackage.haskell.org/package/uuid-types-${VERSION}/${SOURCE}
+
SOURCE_HASH=sha512:9f67801b6bebd29c7c6e305c322e13c7c702a3b290a1aa436eeaa7d32b51337a9746f086496e8c11cdc9149bb575aa9b8d5a2f075121525909b3f123ee33c453
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/uuid-types-${VERSION}"
WEB_SITE="https://github.com/aslatter/uuid"
LICENSE[0]="BSD3"
ENTERED=20150715
diff --git a/haskell/haskell-uuid-types/HISTORY
b/haskell/haskell-uuid-types/HISTORY
index 950557d..c0a07f7 100644
--- a/haskell/haskell-uuid-types/HISTORY
+++ b/haskell/haskell-uuid-types/HISTORY
@@ -1,3 +1,6 @@
+2026-08-18 Ismael Luceno <ismael AT sourcemage.org>
+ * DEPENDS, DETAILS: version 1.0.6.1
+
2017-09-23 Florian Franzmann <bwlf AT bandrate.org>
* DETAILS: version 1.0.3
* DEPENDS: depend on haskell-text
- [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (55d4b47bb0fbb18028198cd4ec07cdfb55be8f46), Ismael Luceno, 08/19/2026
Archive powered by MHonArc 2.6.24.