From 031223d9cc94453c8cbccd43397b741c0592855d Mon Sep 17 00:00:00 2001 From: Chris Hathhorn Date: Tue, 14 Oct 2025 13:23:49 -0500 Subject: [PATCH 01/34] copilot-bluespec: Disable test suite via newly added manual cabal flag. Refs #673. The copilot-bluespec package requires bsc (the Bluespec compiler) to be installed in order to run its test suite, but the builders that Hackage uses to run uploaded packages' test suites do not have bsc installed, causing Hackage to spuriously claim that copilot-bluespec's tests are failing. This commit adds a cabal flag `test-bluespec` intended to enable tests that require the Bluespec compiler (`bsc`) to run. The default behavior of `cabal test` (with no flags) is now to not build the testsuite, preventing spurious test failures from appearing in Hackage reports. To enable building the testsuite, use: `cabal test -f test-bluespec`. --- copilot-bluespec/copilot-bluespec.cabal | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/copilot-bluespec/copilot-bluespec.cabal b/copilot-bluespec/copilot-bluespec.cabal index 975868ac..40ed3093 100644 --- a/copilot-bluespec/copilot-bluespec.cabal +++ b/copilot-bluespec/copilot-bluespec.cabal @@ -34,6 +34,11 @@ source-repository head type: git location: https://github.com/Copilot-Language/copilot-bluespec.git +flag test-bluespec + description: Enable tests that require the Bluespec compiler (bsc) + default: False + manual: True + library default-language : Haskell2010 hs-source-dirs : src @@ -98,3 +103,8 @@ test-suite tests ghc-options: -Wall + + if flag(test-bluespec) + buildable: True + else + buildable: False From 03fc7d4059d762641c8fccc9076533dca626aa63 Mon Sep 17 00:00:00 2001 From: Chris Hathhorn Date: Thu, 4 Dec 2025 15:58:18 -0600 Subject: [PATCH 02/34] copilot-bluespec: Document changes in CHANGELOG. Refs #673. --- copilot-bluespec/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-bluespec/CHANGELOG b/copilot-bluespec/CHANGELOG index 5365300c..931319a8 100644 --- a/copilot-bluespec/CHANGELOG +++ b/copilot-bluespec/CHANGELOG @@ -1,3 +1,6 @@ +2025-12-04 + * Disable test suite via newly added manual cabal flag. (#673) + 2025-11-07 * Version bump (4.6). (#679) * Flip direction of interface inputs and outputs in Bluespec. (#677) From a6f182f4d12e13c610db9318806ce9e6cd6fd62e Mon Sep 17 00:00:00 2001 From: Trevor Kann Date: Fri, 19 Dec 2025 11:06:37 -0500 Subject: [PATCH 03/34] copilot-bluespec: Fix translation of constant floating-point values. Refs #696. copilot-bluespec generates syntactically invalid Bluespec code for special floating-point values, such as negative zero, infinity, and NaN values. For instance, it compiles infinity values to Infinity, which is not a valid Bluespec floating-point value. This patch modifies the function (`constFP`) that translates constant floating point values from Copilot to Bluespec so that it correctly handles special cases such as infs, NaNs, and -0.0. --- copilot-bluespec/copilot-bluespec.cabal | 2 + .../src/Copilot/Compile/Bluespec/Expr.hs | 61 +++++++++++++++++-- 2 files changed, 58 insertions(+), 5 deletions(-) diff --git a/copilot-bluespec/copilot-bluespec.cabal b/copilot-bluespec/copilot-bluespec.cabal index 40ed3093..4e1dabc0 100644 --- a/copilot-bluespec/copilot-bluespec.cabal +++ b/copilot-bluespec/copilot-bluespec.cabal @@ -47,6 +47,8 @@ library build-depends : base >= 4.9 && < 5 , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.6 + , fp-ieee >= 0.1.0 && < 0.2 + , ieee754 >= 0.8.0 && < 0.9 , pretty >= 1.1.2 && < 1.2 , copilot-core >= 4.6 && < 4.7 diff --git a/copilot-bluespec/src/Copilot/Compile/Bluespec/Expr.hs b/copilot-bluespec/src/Copilot/Compile/Bluespec/Expr.hs index 7297fad2..39ff1ad2 100644 --- a/copilot-bluespec/src/Copilot/Compile/Bluespec/Expr.hs +++ b/copilot-bluespec/src/Copilot/Compile/Bluespec/Expr.hs @@ -17,6 +17,8 @@ import Data.Foldable (foldl') import Data.String (IsString (..)) import qualified Language.Bluespec.Classic.AST as BS import qualified Language.Bluespec.Classic.AST.Builtin.Ids as BS +import Numeric.Floating.IEEE.NaN (isSignaling, setPayloadSignaling, setPayload, getPayload) +import GHC.Float (double2Float, castFloatToWord32, castDoubleToWord64) -- Internal imports: Copilot import Copilot.Core @@ -611,14 +613,63 @@ constInt ty i -- | Translate a Copilot floating-point literal into a Bluespec expression. constFP :: Type ty -> Double -> BS.CExpr constFP ty d + -- Bluespec internally represents all IEEE floating-point values as structs + -- so special symbols have to be called for constructing special values, + -- e.g. NaN, inf, and -0.0. See + -- https://github.com/B-Lang-org/bsc/blob/main/src/Libraries/Base3-Math/FloatingPoint.bsv#L441 + | isInfinite d = BS.CApply + (BS.CVar $ BS.mkId BS.NoPos "infinity") + [ if d < 0 + then BS.CCon BS.idTrue [] + else BS.CCon BS.idFalse [] + ] + + | isNaN d = let + cexpr = BS.CHasType + ( BS.CLit $ BS.CLiteral BS.NoPos $ BS.LInt $ + BS.IntLit Nothing 10 cval + ) + ( BS.CQType [] $ BS.TCon $ + BS.TyCon + (BS.mkId BS.NoPos ctype) + Nothing + BS.TIabstract + ) + cval = case ty of + Float -> fromIntegral $ + castFloatToWord32 $ uncastDoubleNaNToFloat d + Double -> fromIntegral $ + castDoubleToWord64 d + _ -> impossible "constFP" "copilot-bluespec" + ctype = case ty of + Float -> "Bit 32" + Double -> "Bit 64" + _ -> impossible "constFP" "copilot-bluespec" + in BS.CApply (BS.CVar $ BS.mkId BS.NoPos "unpack") [cexpr] + | d == 0 = BS.CApply + (BS.CVar $ BS.mkId BS.NoPos "zero") + [ if isNegativeZero d + then BS.CCon BS.idTrue [] + else BS.CCon BS.idFalse [] + ] + | d > 0 = withTypeAnnotation ty $ cLit $ BS.LReal d -- Bluespec intentionally does not support negative literal syntax (e.g., -- -42.5), so we must create negative floating-point literals using the -- `negate` function. - | d >= 0 = withTypeAnnotation ty $ cLit $ BS.LReal d - | otherwise = withTypeAnnotation ty $ - BS.CApply - (BS.CVar $ BS.idNegateAt BS.NoPos) - [cLit $ BS.LReal $ negate d] + | otherwise = withTypeAnnotation ty $ + BS.CApply + (BS.CVar $ BS.idNegateAt BS.NoPos) + [cLit $ BS.LReal $ negate d] + +-- Because NaNs are specially placed as bit-representations by `constfp` and `constfp` requires Doubles as inputs, +-- we need to convert NaN doubles safely into NaN floats. GHC Double2Float does not preserve signal nor payload +-- internals of NaNs so in this case we need a special conversion. +uncastDoubleNaNToFloat :: Double -> Float +uncastDoubleNaNToFloat nan = if (isSignaling nan) + then (setPayloadSignaling payload) + else (setPayload payload) + where + payload = double2Float $ getPayload nan -- | Create a Bluespec expression consisting of a literal. cLit :: BS.Literal -> BS.CExpr From f69f8db70774f78580985797ae6dd67cb864e414 Mon Sep 17 00:00:00 2001 From: Trevor Kann Date: Fri, 19 Dec 2025 14:37:39 -0500 Subject: [PATCH 04/34] copilot-bluespec: Document changes in CHANGELOG. Refs #696. --- copilot-bluespec/CHANGELOG | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/copilot-bluespec/CHANGELOG b/copilot-bluespec/CHANGELOG index 931319a8..168d3ac9 100644 --- a/copilot-bluespec/CHANGELOG +++ b/copilot-bluespec/CHANGELOG @@ -1,5 +1,6 @@ -2025-12-04 +2025-12-19 * Disable test suite via newly added manual cabal flag. (#673) + * Fix translation of constant floating-point values. (#696) 2025-11-07 * Version bump (4.6). (#679) From 4980c6d21dd5aa840a4b78d21286588d56aa6b66 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:30:19 +0000 Subject: [PATCH 05/34] copilot-theorem: Relax version constraints on containers, random. Refs #603. In order to keep Copilot effectively working in the current Haskell ecosystem, as well as new versions of GHC, we need to extend the versions of dependencies that Copilot can be installed with. For example, containers has seen release 0.8, but copilot-language, copilot-libraries and copilot-theorem need versions strictly lower than 0.8. The same is true for random, of which we depend on versions prior to 1.3 but version 1.3 has been released. This commit relaxes the version constraints on containers and random for the copilot-theorem package. --- copilot-theorem/copilot-theorem.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copilot-theorem/copilot-theorem.cabal b/copilot-theorem/copilot-theorem.cabal index b830f91a..5ae6a507 100644 --- a/copilot-theorem/copilot-theorem.cabal +++ b/copilot-theorem/copilot-theorem.cabal @@ -48,7 +48,7 @@ library build-depends : base >= 4.9 && < 5 , bimap (>= 0.3 && < 0.4) || (>= 0.5 && < 0.6) , bv-sized >= 1.0.2 && < 1.1 - , containers >= 0.4 && < 0.8 + , containers >= 0.4 && < 0.9 , data-default >= 0.7 && < 0.9 , directory >= 1.3 && < 1.4 , libBF >= 0.6.2 && < 0.7 @@ -57,7 +57,7 @@ library , parameterized-utils >= 2.1.1 && < 2.2 , pretty >= 1.0 && < 1.2 , process >= 1.6 && < 1.7 - , random >= 1.1 && < 1.3 + , random >= 1.1 && < 1.4 , transformers >= 0.5 && < 0.7 , xml >= 1.3 && < 1.4 , what4 >= 1.3 && < 1.8 From b315eb7d10c90214f7f2e8e9484f4361f5f5c9d2 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:32:47 +0000 Subject: [PATCH 06/34] copilot-language: Relax version constraint on containers. Refs #603. In order to keep Copilot effectively working in the current Haskell ecosystem, as well as new versions of GHC, we need to extend the versions of dependencies that Copilot can be installed with. For example, containers has seen release 0.8, but copilot-language, copilot-libraries and copilot-theorem need versions strictly lower than 0.8. The same is true for random, of which we depend on versions prior to 1.3 but version 1.3 has been released. This commit relaxes the version constraint on containers for the copilot-language package. --- copilot-language/copilot-language.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copilot-language/copilot-language.cabal b/copilot-language/copilot-language.cabal index 543a1177..fac90f5e 100644 --- a/copilot-language/copilot-language.cabal +++ b/copilot-language/copilot-language.cabal @@ -38,7 +38,7 @@ library build-depends: base >= 4.9 && < 5 , array >= 0.5 && < 0.6 - , containers >= 0.4 && < 0.8 + , containers >= 0.4 && < 0.9 , data-reify >= 0.6 && < 0.7 , mtl >= 2.0 && < 3 From 4721684bd3564aa972e768c785b7c57045dad7d8 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:32:45 +0000 Subject: [PATCH 07/34] copilot-libraries: Relax version constraint on containers. Refs #603. In order to keep Copilot effectively working in the current Haskell ecosystem, as well as new versions of GHC, we need to extend the versions of dependencies that Copilot can be installed with. For example, containers has seen release 0.8, but copilot-language, copilot-libraries and copilot-theorem need versions strictly lower than 0.8. The same is true for random, of which we depend on versions prior to 1.3 but version 1.3 has been released. This commit relaxes the version constraint on containers for the copilot-libraries package. --- copilot-libraries/copilot-libraries.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copilot-libraries/copilot-libraries.cabal b/copilot-libraries/copilot-libraries.cabal index 9b17524f..70fe91cc 100644 --- a/copilot-libraries/copilot-libraries.cabal +++ b/copilot-libraries/copilot-libraries.cabal @@ -38,7 +38,7 @@ library build-depends: base >= 4.9 && < 5 - , containers >= 0.4 && < 0.8 + , containers >= 0.4 && < 0.9 , mtl >= 2.0 && < 2.4 , parsec >= 2.0 && < 3.2 , copilot-language >= 4.6 && < 4.7 From ba8668c38f2ce60f521641f3043e2dafcbf1e0c0 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:34:18 +0000 Subject: [PATCH 08/34] copilot: Relax version constraint on optparse-applicative. Refs #603. In order to keep Copilot effectively working in the current Haskell ecosystem, as well as new versions of GHC, we need to extend the versions of dependencies that Copilot can be installed with. For example, containers has seen release 0.8, but copilot-language, copilot-libraries and copilot-theorem need versions strictly lower than 0.8. The same is true for random, of which we depend on versions prior to 1.3 but version 1.3 has been released. This commit relaxes the version constraint on optparse-applicative for the copilot package. --- copilot/copilot.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copilot/copilot.cabal b/copilot/copilot.cabal index f52eecc4..d9179eb4 100644 --- a/copilot/copilot.cabal +++ b/copilot/copilot.cabal @@ -48,7 +48,7 @@ library -fno-warn-orphans build-depends: base >= 4.9 && < 5 - , optparse-applicative >= 0.14 && < 0.19 + , optparse-applicative >= 0.14 && < 0.20 , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.6 From ecd8a9379c77b209a0a2947530fd7d4e9f977cca Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:34:38 +0000 Subject: [PATCH 09/34] copilot-theorem: Document changes in CHANGELOG. Refs #603. --- copilot-theorem/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-theorem/CHANGELOG b/copilot-theorem/CHANGELOG index 463ef02c..1c12b51d 100644 --- a/copilot-theorem/CHANGELOG +++ b/copilot-theorem/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Relax version constraint on containers, random. (#603) + 2025-11-07 * Version bump (4.6). (#679) From 2d1b722094da6fc27b3b695f9e673191c5ec6104 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:35:28 +0000 Subject: [PATCH 10/34] copilot-language: Document changes in CHANGELOG. Refs #603. --- copilot-language/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-language/CHANGELOG b/copilot-language/CHANGELOG index c2242629..d6e10102 100644 --- a/copilot-language/CHANGELOG +++ b/copilot-language/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Relax version constraint on containers. (#603) + 2025-11-07 * Version bump (4.6). (#679) From 3894bac73251f19699148fa15c304d5fc5b869c2 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:35:47 +0000 Subject: [PATCH 11/34] copilot-libraries: Document changes in CHANGELOG. Refs #603. --- copilot-libraries/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-libraries/CHANGELOG b/copilot-libraries/CHANGELOG index 6f6a6a6b..bc67991f 100644 --- a/copilot-libraries/CHANGELOG +++ b/copilot-libraries/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Relax version constraint on containers. (#603) + 2025-11-07 * Version bump (4.6). (#679) From c24a34c88cb1dbaf619ee533717aceaff591f732 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 7 Jan 2026 23:36:10 +0000 Subject: [PATCH 12/34] copilot: Document changes in CHANGELOG. Refs #603. --- copilot/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot/CHANGELOG b/copilot/CHANGELOG index 11069c98..759fda72 100644 --- a/copilot/CHANGELOG +++ b/copilot/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Relax version constraint on optparse-applicative. (#603) + 2025-11-07 * Version bump (4.6). (#679) From 9b80035ba4c91d911320b0d6b3891eeec248edfa Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 13/34] copilot-core: Version bump (4.6.1). Refs #705. --- copilot-core/copilot-core.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copilot-core/copilot-core.cabal b/copilot-core/copilot-core.cabal index 6c18d6ca..336db0f2 100644 --- a/copilot-core/copilot-core.cabal +++ b/copilot-core/copilot-core.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: copilot-core -version: 4.6 +version: 4.6.1 synopsis: An intermediate representation for Copilot. description: Intermediate representation for Copilot. From ebc8e6f5885ae8ca78dc48aa7d3dfdeca2cd50e9 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 14/34] copilot-interpreter: Version bump (4.6.1). Refs #705. --- copilot-interpreter/copilot-interpreter.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copilot-interpreter/copilot-interpreter.cabal b/copilot-interpreter/copilot-interpreter.cabal index e8b9fad4..7395226a 100644 --- a/copilot-interpreter/copilot-interpreter.cabal +++ b/copilot-interpreter/copilot-interpreter.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: copilot-interpreter -version: 4.6 +version: 4.6.1 synopsis: Interpreter for Copilot. description: Interpreter for Copilot. @@ -44,7 +44,7 @@ library base >= 4.9 && < 5, pretty >= 1.0 && < 1.2, - copilot-core >= 4.6 && < 4.7 + copilot-core >= 4.6.1 && < 4.7 exposed-modules: From f151430beb695ecdb18448e132c28750c6a2c76e Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 15/34] copilot-prettyprinter: Version bump (4.6.1). Refs #705. --- copilot-prettyprinter/copilot-prettyprinter.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copilot-prettyprinter/copilot-prettyprinter.cabal b/copilot-prettyprinter/copilot-prettyprinter.cabal index 0f413f63..b303db95 100644 --- a/copilot-prettyprinter/copilot-prettyprinter.cabal +++ b/copilot-prettyprinter/copilot-prettyprinter.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: copilot-prettyprinter -version: 4.6 +version: 4.6.1 synopsis: A prettyprinter of Copilot Specifications. description: A prettyprinter of Copilot specifications. @@ -45,7 +45,7 @@ library base >= 4.9 && < 5, pretty >= 1.0 && < 1.2, - copilot-core >= 4.6 && < 4.7 + copilot-core >= 4.6.1 && < 4.7 exposed-modules: From 37c261677e01c42a1d01ea07d99c3988ec9bcc5c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:38 +0000 Subject: [PATCH 16/34] copilot-bluespec: Version bump (4.6.1). Refs #705. --- copilot-bluespec/copilot-bluespec.cabal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/copilot-bluespec/copilot-bluespec.cabal b/copilot-bluespec/copilot-bluespec.cabal index 4e1dabc0..b727af7f 100644 --- a/copilot-bluespec/copilot-bluespec.cabal +++ b/copilot-bluespec/copilot-bluespec.cabal @@ -1,6 +1,6 @@ cabal-version : >= 1.10 name : copilot-bluespec -version : 4.6 +version : 4.6.1 synopsis : A compiler for Copilot targeting FPGAs. description : This package is a back-end from Copilot to FPGAs in Bluespec. @@ -51,8 +51,8 @@ library , ieee754 >= 0.8.0 && < 0.9 , pretty >= 1.1.2 && < 1.2 - , copilot-core >= 4.6 && < 4.7 - , language-bluespec >= 0.1 && < 0.2 + , copilot-core >= 4.6.1 && < 4.7 + , language-bluespec >= 0.1 && < 0.2 exposed-modules : Copilot.Compile.Bluespec From bf1135bdc9cb3100612c74262f4f94b9ba7a1570 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 17/34] copilot-c99: Version bump (4.6.1). Refs #705. --- copilot-c99/copilot-c99.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copilot-c99/copilot-c99.cabal b/copilot-c99/copilot-c99.cabal index e5efd5f2..40407cec 100644 --- a/copilot-c99/copilot-c99.cabal +++ b/copilot-c99/copilot-c99.cabal @@ -1,6 +1,6 @@ cabal-version : >= 1.10 name : copilot-c99 -version : 4.6 +version : 4.6.1 synopsis : A compiler for Copilot targeting C99. description : This package is a back-end from Copilot to C. @@ -45,7 +45,7 @@ library , mtl >= 2.2 && < 2.4 , pretty >= 1.1 && < 1.2 - , copilot-core >= 4.6 && < 4.7 + , copilot-core >= 4.6.1 && < 4.7 , language-c99 >= 0.2.0 && < 0.3 , language-c99-simple >= 0.3 && < 0.4 From abfa7f1ad896e7d266ecc3b1c1ca023b9869dd1e Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 18/34] copilot-theorem: Version bump (4.6.1). Refs #705. --- copilot-theorem/copilot-theorem.cabal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/copilot-theorem/copilot-theorem.cabal b/copilot-theorem/copilot-theorem.cabal index 5ae6a507..173e90ec 100644 --- a/copilot-theorem/copilot-theorem.cabal +++ b/copilot-theorem/copilot-theorem.cabal @@ -14,7 +14,7 @@ description: . -version : 4.6 +version : 4.6.1 license : BSD3 license-file : LICENSE maintainer : Ivan Perez @@ -62,8 +62,8 @@ library , xml >= 1.3 && < 1.4 , what4 >= 1.3 && < 1.8 - , copilot-core >= 4.6 && < 4.7 - , copilot-prettyprinter >= 4.6 && < 4.7 + , copilot-core >= 4.6.1 && < 4.7 + , copilot-prettyprinter >= 4.6.1 && < 4.7 exposed-modules : Copilot.Theorem , Copilot.Theorem.Prove From 5e88c77759e3d39ec4e43893bff49b718322729a Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 19/34] copilot-language: Version bump (4.6.1). Refs #705. --- copilot-language/copilot-language.cabal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/copilot-language/copilot-language.cabal b/copilot-language/copilot-language.cabal index fac90f5e..0b65b579 100644 --- a/copilot-language/copilot-language.cabal +++ b/copilot-language/copilot-language.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: copilot-language -version: 4.6 +version: 4.6.1 synopsis: A Haskell-embedded DSL for monitoring hard real-time distributed systems. description: @@ -42,9 +42,9 @@ library , data-reify >= 0.6 && < 0.7 , mtl >= 2.0 && < 3 - , copilot-core >= 4.6 && < 4.7 - , copilot-interpreter >= 4.6 && < 4.7 - , copilot-theorem >= 4.6 && < 4.7 + , copilot-core >= 4.6.1 && < 4.7 + , copilot-interpreter >= 4.6.1 && < 4.7 + , copilot-theorem >= 4.6.1 && < 4.7 exposed-modules: Copilot.Language , Copilot.Language.Operators.BitWise From e0bae5fcdd3c198561b76b261f2a955c4fbe8f91 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 20/34] copilot-libraries: Version bump (4.6.1). Refs #705. --- copilot-libraries/copilot-libraries.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copilot-libraries/copilot-libraries.cabal b/copilot-libraries/copilot-libraries.cabal index 70fe91cc..c864c9cd 100644 --- a/copilot-libraries/copilot-libraries.cabal +++ b/copilot-libraries/copilot-libraries.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: copilot-libraries -version: 4.6 +version: 4.6.1 synopsis: Libraries for the Copilot language. description: Libraries for the Copilot language. @@ -41,7 +41,7 @@ library , containers >= 0.4 && < 0.9 , mtl >= 2.0 && < 2.4 , parsec >= 2.0 && < 3.2 - , copilot-language >= 4.6 && < 4.7 + , copilot-language >= 4.6.1 && < 4.7 exposed-modules: Copilot.Library.Libraries From 3cd60d0c69fc89e52315be4bc0e0788f767c00d4 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:38 +0000 Subject: [PATCH 21/34] copilot-verifier: Version bump (4.6.1). Refs #705. --- copilot-verifier/copilot-verifier.cabal | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/copilot-verifier/copilot-verifier.cabal b/copilot-verifier/copilot-verifier.cabal index 9c6bed8d..f77ebfca 100644 --- a/copilot-verifier/copilot-verifier.cabal +++ b/copilot-verifier/copilot-verifier.cabal @@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: copilot-verifier -Version: 4.6 +Version: 4.6.1 Author: Galois Inc. Maintainer: rscott@galois.com Copyright: (c) Galois, Inc 2021-2024 @@ -45,9 +45,9 @@ common bldflags bv-sized >= 1.0.0 && < 1.1, bytestring, containers >= 0.5.9.0, - copilot-c99 >= 4.6 && < 4.7, - copilot-core >= 4.6 && < 4.7, - copilot-theorem >= 4.6 && < 4.7, + copilot-c99 >= 4.6.1 && < 4.7, + copilot-core >= 4.6.1 && < 4.7, + copilot-theorem >= 4.6.1 && < 4.7, crucible >= 0.7.1 && < 0.8, crucible-llvm >= 0.7 && < 0.8, crux >= 0.7.1 && < 0.8, @@ -80,10 +80,10 @@ library copilot-verifier-examples hs-source-dirs: examples build-depends: case-insensitive, - copilot >= 4.6 && < 4.7, - copilot-language >= 4.6 && < 4.7, - copilot-libraries >= 4.6 && < 4.7, - copilot-prettyprinter >= 4.6 && < 4.7, + copilot >= 4.6.1 && < 4.7, + copilot-language >= 4.6.1 && < 4.7, + copilot-libraries >= 4.6.1 && < 4.7, + copilot-prettyprinter >= 4.6.1 && < 4.7, copilot-verifier exposed-modules: Copilot.Verifier.Examples From d119ebc92046eade34010753ebfb397ab506d52a Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:38 +0000 Subject: [PATCH 22/34] copilot-visualizer: Version bump (4.6.1). Refs #705. --- copilot-visualizer/copilot-visualizer.cabal | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/copilot-visualizer/copilot-visualizer.cabal b/copilot-visualizer/copilot-visualizer.cabal index 6afd9070..c481a8d0 100644 --- a/copilot-visualizer/copilot-visualizer.cabal +++ b/copilot-visualizer/copilot-visualizer.cabal @@ -1,6 +1,6 @@ cabal-version: >= 1.10 name: copilot-visualizer -version: 4.6 +version: 4.6.1 synopsis: Visualizer for Copilot. description: Visualizer for Copilot. @@ -65,10 +65,10 @@ library text >= 1.2.3.1 && < 2.2, websockets >= 0.12.7 && < 0.14, - copilot >= 4.6 && < 4.7, - copilot-core >= 4.6 && < 4.7, - copilot-interpreter >= 4.6 && < 4.7, - copilot-language >= 4.6 && < 4.7 + copilot >= 4.6.1 && < 4.7, + copilot-core >= 4.6.1 && < 4.7, + copilot-interpreter >= 4.6.1 && < 4.7, + copilot-language >= 4.6.1 && < 4.7 exposed-modules: @@ -121,7 +121,7 @@ executable tikz-example build-depends: base >= 4.9 && < 5, - copilot >= 4.6 && < 4.7, + copilot >= 4.6.1 && < 4.7, copilot-visualizer if flag(examples) From 1e0f4f0dbeb1f72fa1cfad59e5ab25e8ea09888e Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:42:15 +0000 Subject: [PATCH 23/34] copilot: Version bump (4.6.1). Refs #705. --- copilot/copilot.cabal | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/copilot/copilot.cabal b/copilot/copilot.cabal index d9179eb4..66304a0f 100644 --- a/copilot/copilot.cabal +++ b/copilot/copilot.cabal @@ -1,5 +1,5 @@ name: copilot -version: 4.6 +version: 4.6.1 cabal-version: >= 1.10 license: BSD3 license-file: LICENSE @@ -52,12 +52,12 @@ library , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.6 - , copilot-core >= 4.6 && < 4.7 - , copilot-theorem >= 4.6 && < 4.7 - , copilot-language >= 4.6 && < 4.7 - , copilot-libraries >= 4.6 && < 4.7 - , copilot-c99 >= 4.6 && < 4.7 - , copilot-prettyprinter >= 4.6 && < 4.7 + , copilot-core >= 4.6.1 && < 4.7 + , copilot-theorem >= 4.6.1 && < 4.7 + , copilot-language >= 4.6.1 && < 4.7 + , copilot-libraries >= 4.6.1 && < 4.7 + , copilot-c99 >= 4.6.1 && < 4.7 + , copilot-prettyprinter >= 4.6.1 && < 4.7 exposed-modules: Language.Copilot, Language.Copilot.Main From eb078b9b0737e3b63dd1e86120b663d35321622c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 24/34] copilot-core: Document changes in CHANGELOG. Refs #705. --- copilot-core/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-core/CHANGELOG b/copilot-core/CHANGELOG index b0b94a73..c00db088 100644 --- a/copilot-core/CHANGELOG +++ b/copilot-core/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From 86b8eaf38be1665d0f9057477be4dd390d228d87 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 25/34] copilot-interpreter: Document changes in CHANGELOG. Refs #705. --- copilot-interpreter/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-interpreter/CHANGELOG b/copilot-interpreter/CHANGELOG index c6f5b6cb..1827da72 100644 --- a/copilot-interpreter/CHANGELOG +++ b/copilot-interpreter/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From bf0230aa301e8e7ac53d2549bb78e85a92306340 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 26/34] copilot-prettyprinter: Document changes in CHANGELOG. Refs #705. --- copilot-prettyprinter/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-prettyprinter/CHANGELOG b/copilot-prettyprinter/CHANGELOG index 26b0500a..ed0b61ad 100644 --- a/copilot-prettyprinter/CHANGELOG +++ b/copilot-prettyprinter/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From f9116e0d85352c495ab80f8b7c419805d2f154e9 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 27/34] copilot-bluespec: Document changes in CHANGELOG. Refs #705. --- copilot-bluespec/CHANGELOG | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/copilot-bluespec/CHANGELOG b/copilot-bluespec/CHANGELOG index 168d3ac9..9235a2a2 100644 --- a/copilot-bluespec/CHANGELOG +++ b/copilot-bluespec/CHANGELOG @@ -1,4 +1,5 @@ -2025-12-19 +2026-01-07 + * Version bump (4.6.1). (#705) * Disable test suite via newly added manual cabal flag. (#673) * Fix translation of constant floating-point values. (#696) From 7b603c8443a6ffc6e7a065d63fe6c163d8fdbce4 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 28/34] copilot-c99: Document changes in CHANGELOG. Refs #705. --- copilot-c99/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-c99/CHANGELOG b/copilot-c99/CHANGELOG index 8b7be686..7a2ef8da 100644 --- a/copilot-c99/CHANGELOG +++ b/copilot-c99/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From c5ce39c23ffe2b3505b8aa555f89d7a16c98d033 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 29/34] copilot-theorem: Document changes in CHANGELOG. Refs #705. --- copilot-theorem/CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/copilot-theorem/CHANGELOG b/copilot-theorem/CHANGELOG index 1c12b51d..f3dd23d6 100644 --- a/copilot-theorem/CHANGELOG +++ b/copilot-theorem/CHANGELOG @@ -1,4 +1,5 @@ 2026-01-07 + * Version bump (4.6.1). (#705) * Relax version constraint on containers, random. (#603) 2025-11-07 From 4df4f0a79f626bbe6ce57201fcb9ab047db61906 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 30/34] copilot-language: Document changes in CHANGELOG. Refs #705. --- copilot-language/CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/copilot-language/CHANGELOG b/copilot-language/CHANGELOG index d6e10102..eca06453 100644 --- a/copilot-language/CHANGELOG +++ b/copilot-language/CHANGELOG @@ -1,4 +1,5 @@ 2026-01-07 + * Version bump (4.6.1). (#705) * Relax version constraint on containers. (#603) 2025-11-07 From ac295eab915564213978e62251a6ae8afec1eb12 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 31/34] copilot-libraries: Document changes in CHANGELOG. Refs #705. --- copilot-libraries/CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/copilot-libraries/CHANGELOG b/copilot-libraries/CHANGELOG index bc67991f..6ae010b9 100644 --- a/copilot-libraries/CHANGELOG +++ b/copilot-libraries/CHANGELOG @@ -1,4 +1,5 @@ 2026-01-07 + * Version bump (4.6.1). (#705) * Relax version constraint on containers. (#603) 2025-11-07 From e650b743bd33490bd2c96d61b18a2491cc05e3f9 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 32/34] copilot-verifier: Document changes in CHANGELOG. Refs #705. --- copilot-verifier/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-verifier/CHANGELOG b/copilot-verifier/CHANGELOG index e4b2f954..ca874028 100644 --- a/copilot-verifier/CHANGELOG +++ b/copilot-verifier/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From 2d69e9b62ee33de1672b4f20b3a2806803373239 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 33/34] copilot-visualizer: Document changes in CHANGELOG. Refs #705. --- copilot-visualizer/CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copilot-visualizer/CHANGELOG b/copilot-visualizer/CHANGELOG index 2dbe2a7a..85bc4173 100644 --- a/copilot-visualizer/CHANGELOG +++ b/copilot-visualizer/CHANGELOG @@ -1,3 +1,6 @@ +2026-01-07 + * Version bump (4.6.1). (#705) + 2025-11-07 * Version bump (4.6). (#679) From 62940d9d984fc37a90becfc573e8ff5f2df10019 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 8 Jan 2026 00:47:38 +0000 Subject: [PATCH 34/34] copilot: Document changes in CHANGELOG. Refs #705. --- copilot/CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/copilot/CHANGELOG b/copilot/CHANGELOG index 759fda72..15678af7 100644 --- a/copilot/CHANGELOG +++ b/copilot/CHANGELOG @@ -1,4 +1,5 @@ 2026-01-07 + * Version bump (4.6.1). (#705) * Relax version constraint on optparse-applicative. (#603) 2025-11-07