Skip to content

Commit 4bfe54d

Browse files
author
IOHK
committed
Automatic Update
1 parent f88b7e1 commit 4bfe54d

File tree

70 files changed

+2646
-16
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2646
-16
lines changed

default.nix

+1
Original file line numberDiff line numberDiff line change
@@ -1422,6 +1422,7 @@ with builtins; mapAttrs (_: mapAttrs (_: data: rec {
14221422
"acme-miscorder" = import ./nix/acme-miscorder.nix;
14231423
"acme-missiles" = import ./nix/acme-missiles.nix;
14241424
"acme-mutable-package" = import ./nix/acme-mutable-package.nix;
1425+
"acme-not-a-joke" = import ./nix/acme-not-a-joke.nix;
14251426
"acme-now" = import ./nix/acme-now.nix;
14261427
"acme-numbersystem" = import ./nix/acme-numbersystem.nix;
14271428
"acme-omitted" = import ./nix/acme-omitted.nix;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "1.10";
14+
identifier = { name = "ChasingBottoms"; version = "1.3.1.14"; };
15+
license = "MIT";
16+
copyright = "Copyright (c) Nils Anders Danielsson 2004-2022, 2024.";
17+
maintainer = "http://www.cse.chalmers.se/~nad/";
18+
author = "Nils Anders Danielsson";
19+
homepage = "";
20+
url = "";
21+
synopsis = "For testing partial and infinite values.";
22+
description = "Do you ever feel the need to test code involving bottoms (e.g. calls to\nthe @error@ function), or code involving infinite values? Then this\nlibrary could be useful for you.\n\nIt is usually easy to get a grip on bottoms by showing a value and\nwaiting to see how much gets printed before the first exception is\nencountered. However, that quickly gets tiresome and is hard to automate\nusing e.g. QuickCheck\n(<http://www.cse.chalmers.se/~rjmh/QuickCheck/>). With this library you\ncan do the tests as simply as the following examples show.\n\nTesting explicitly for bottoms:\n\n> > isBottom (head [])\n> True\n\n> > isBottom bottom\n> True\n\n> > isBottom (\\_ -> bottom)\n> False\n\n> > isBottom (bottom, bottom)\n> False\n\nComparing finite, partial values:\n\n> > ((bottom, 3) :: (Bool, Int)) ==! (bottom, 2+5-4)\n> True\n\n> > ((bottom, bottom) :: (Bool, Int)) <! (bottom, 8)\n> True\n\nShowing partial and infinite values (@\\\\\\/!@ is join and @\\/\\\\!@ is meet):\n\n> > approxShow 4 $ (True, bottom) \\/! (bottom, 'b')\n> \"Just (True, 'b')\"\n\n> > approxShow 4 $ (True, bottom) /\\! (bottom, 'b')\n> \"(_|_, _|_)\"\n\n> > approxShow 4 $ ([1..] :: [Int])\n> \"[1, 2, 3, _\"\n\n> > approxShow 4 $ (cycle [bottom] :: [Bool])\n> \"[_|_, _|_, _|_, _\"\n\nApproximately comparing infinite, partial values:\n\n> > approx 100 [2,4..] ==! approx 100 (filter even [1..] :: [Int])\n> True\n\n> > approx 100 [2,4..] /=! approx 100 (filter even [bottom..] :: [Int])\n> True\n\nThe code above relies on the fact that @bottom@, just as @error\n\\\"...\\\"@, @undefined@ and pattern match failures, yield\nexceptions. Sometimes we are dealing with properly non-terminating\ncomputations, such as the following example, and then it can be nice to\nbe able to apply a time-out:\n\n> > timeOut' 1 (reverse [1..5])\n> Value [5,4,3,2,1]\n\n> > timeOut' 1 (reverse [1..])\n> NonTermination\n\nThe time-out functionality can be used to treat \\\"slow\\\" computations as\nbottoms:\n\n@\n\\> let tweak = Tweak &#x7b; approxDepth = Just 5, timeOutLimit = Just 2 &#x7d;\n\\> semanticEq tweak (reverse [1..], [1..]) (bottom :: [Int], [1..] :: [Int])\nTrue\n@\n\n@\n\\> let tweak = noTweak &#x7b; timeOutLimit = Just 2 &#x7d;\n\\> semanticJoin tweak (reverse [1..], True) ([] :: [Int], bottom)\nJust ([],True)\n@\n\nThis can of course be dangerous:\n\n@\n\\> let tweak = noTweak &#x7b; timeOutLimit = Just 0 &#x7d;\n\\> semanticEq tweak (reverse [1..100000000]) (bottom :: [Integer])\nTrue\n@\n\nTimeouts can also be applied to @IO@ computations:\n\n> > let primes () = unfoldr (\\(x:xs) -> Just (x, filter ((/= 0) . (`mod` x)) xs)) [2..]\n> > timeOutMicro 100 (print $ primes ())\n> [2,NonTermination\n> > timeOutMicro 10000 (print $ take 10 $ primes ())\n> [2,3,5,7,11,13,17,19,23,29]\n> Value ()\n\nFor the underlying theory and a larger example involving use of\nQuickCheck, see the article \\\"Chasing Bottoms, A Case Study in Program\nVerification in the Presence of Partial and Infinite Values\\\"\n(<http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html>).\n\nThe code has been tested using GHC. Most parts can probably be\nported to other Haskell compilers, but this would require some work.\nThe @TimeOut@ functions require preemptive scheduling, and most of\nthe rest requires @Data.Generics@; @isBottom@ only requires\nexceptions, though.";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = [
28+
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
29+
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
30+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
31+
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
32+
(hsPkgs."random" or (errorHandler.buildDepError "random"))
33+
(hsPkgs."syb" or (errorHandler.buildDepError "syb"))
34+
];
35+
buildable = true;
36+
};
37+
tests = {
38+
"ChasingBottomsTestSuite" = {
39+
depends = [
40+
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
41+
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
42+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
43+
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
44+
(hsPkgs."random" or (errorHandler.buildDepError "random"))
45+
(hsPkgs."syb" or (errorHandler.buildDepError "syb"))
46+
(hsPkgs."array" or (errorHandler.buildDepError "array"))
47+
];
48+
buildable = true;
49+
};
50+
};
51+
};
52+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "2.4";
14+
identifier = { name = "acme-not-a-joke"; version = "0.1.0.0"; };
15+
license = "BSD-3-Clause";
16+
copyright = "Lucas DiCioccio 2023";
17+
maintainer = "[email protected]";
18+
author = "Lucas DiCioccio";
19+
homepage = "";
20+
url = "";
21+
synopsis = "implements ACME clients (rfc-8555)";
22+
description = "a library to get TLS certificate by communicating to a ACME-provider such as Lets'Encrypt. Hence: no, the acme prefix is not a marker for a joke.";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = [
28+
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
29+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
30+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
31+
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
32+
(hsPkgs."text" or (errorHandler.buildDepError "text"))
33+
(hsPkgs."time" or (errorHandler.buildDepError "time"))
34+
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
35+
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
36+
(hsPkgs."jose" or (errorHandler.buildDepError "jose"))
37+
(hsPkgs."lens" or (errorHandler.buildDepError "lens"))
38+
(hsPkgs."wreq" or (errorHandler.buildDepError "wreq"))
39+
];
40+
buildable = true;
41+
};
42+
};
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = { example = false; };
12+
package = {
13+
specVersion = "1.22";
14+
identifier = { name = "ansi-terminal"; version = "1.1.1"; };
15+
license = "BSD-3-Clause";
16+
copyright = "";
17+
maintainer = "Mike Pilgrem <[email protected]>, Roman Cheplyaka <[email protected]>";
18+
author = "Max Bolingbroke";
19+
homepage = "https://github.com/UnkindPartition/ansi-terminal";
20+
url = "";
21+
synopsis = "Simple ANSI terminal support";
22+
description = "ANSI terminal support for Haskell: allows cursor movement,\nscreen clearing, color output, showing or hiding the\ncursor, and changing the title. Works on UNIX and Windows.";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = [
28+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
29+
(hsPkgs."ansi-terminal-types" or (errorHandler.buildDepError "ansi-terminal-types"))
30+
(hsPkgs."colour" or (errorHandler.buildDepError "colour"))
31+
];
32+
buildable = true;
33+
};
34+
exes = {
35+
"ansi-terminal-example" = {
36+
depends = [
37+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
38+
(hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal"))
39+
(hsPkgs."colour" or (errorHandler.buildDepError "colour"))
40+
];
41+
buildable = if !flags.example then false else true;
42+
};
43+
};
44+
};
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "1.10";
14+
identifier = { name = "bearriver"; version = "0.14.8"; };
15+
license = "BSD-3-Clause";
16+
copyright = "Copyright (c) 2019-2022 - Ivan Perez\n,\nCopyright (c) 2016-2018 - Ivan Perez and Manuel Bärenz";
17+
maintainer = "[email protected]";
18+
author = "Ivan Perez, Manuel Bärenz";
19+
homepage = "https://github.com/ivanperez-keera/dunai";
20+
url = "";
21+
synopsis = "FRP Yampa replacement implemented with Monadic Stream Functions.";
22+
description = "<https://hackage.haskell.org/package/Yampa Yampa> is a popular Functional\nReactive Programming (FRP) implementation that has been used extensively for\nall kinds of applications, including robotics and games.\n\n<https://dl.acm.org/doi/10.1145/2976002.2976010 Monadic Stream Functions> are\na new abstraction for data processors that combine arrows and monads. The\nlibrary <https://hackage.haskell.org/package/dunai dunai> provides a default\nimplementation.\n\nBearriver (a tributary to the Yampa river) provides the same API as Yampa,\nbut implemented using dunai underneath. The goal is to facilitate\nunderstanding what's different about Yampa, and other FRP and Reactive\nProgramming libraries, by creating wrappers around dunai defined precisely by\nthose differences.\n\nBecause dunai is particularly fast, especially with optimizations enabled,\nthis implementation is faster than traditional Yampa for medium-sized and\nlarge applications.";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = ([
28+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
29+
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
30+
(hsPkgs."dunai" or (errorHandler.buildDepError "dunai"))
31+
(hsPkgs."MonadRandom" or (errorHandler.buildDepError "MonadRandom"))
32+
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
33+
(hsPkgs."simple-affine-space" or (errorHandler.buildDepError "simple-affine-space"))
34+
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
35+
] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.le "7.8.4") (hsPkgs."MonadRandom" or (errorHandler.buildDepError "MonadRandom"))) ++ pkgs.lib.optional (!(compiler.isGhc && compiler.version.ge "8.0")) (hsPkgs."fail" or (errorHandler.buildDepError "fail"));
36+
buildable = true;
37+
};
38+
};
39+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "1.12";
14+
identifier = { name = "brotli"; version = "0.0.0.1"; };
15+
license = "GPL-3.0-only";
16+
copyright = "(c) 2016, Herbert Valerio Riedel";
17+
maintainer = "https://github.com/haskell-hvr/brotli";
18+
author = "Herbert Valerio Riedel";
19+
homepage = "https://github.com/haskell-hvr/brotli";
20+
url = "";
21+
synopsis = "Brotli (RFC7932) compression and decompression";
22+
description = "<http://brotli.org Brotli> (<https://tools.ietf.org/html/rfc7932 RFC7932>) is a generic-purpose lossless compression algorithm suitable for <https://en.wikipedia.org/wiki/HTTP_compression HTTP compression> that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.\n\nThis package provides a pure interface for compressing and\ndecompressing Brotli streams of data represented as lazy @ByteString@s. A\nmonadic incremental interface is provided as well. This package\nrelies on Google's C implementation.\n\nThe following packages are based on this package and provide\nAPI support for popular streaming frameworks:\n\n* </package/brotli-streams brotli-streams> (for </package/io-streams io-streams>)\n\n* </package/pipes-brotli pipes-brotli> (for </package/pipes pipes>)\n\n* </package/brotli-conduit brotli-conduit> (for </package/conduit conduit>)\n";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = [
28+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
29+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
30+
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
31+
];
32+
pkgconfig = [
33+
(pkgconfPkgs."libbrotlienc" or (errorHandler.pkgConfDepError "libbrotlienc"))
34+
(pkgconfPkgs."libbrotlidec" or (errorHandler.pkgConfDepError "libbrotlidec"))
35+
];
36+
buildable = true;
37+
};
38+
tests = {
39+
"brotli-tests" = {
40+
depends = [
41+
(hsPkgs."brotli" or (errorHandler.buildDepError "brotli"))
42+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
43+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
44+
(hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit"))
45+
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
46+
(hsPkgs."tasty" or (errorHandler.buildDepError "tasty"))
47+
(hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit"))
48+
(hsPkgs."tasty-quickcheck" or (errorHandler.buildDepError "tasty-quickcheck"))
49+
];
50+
buildable = true;
51+
};
52+
};
53+
};
54+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "1.12";
14+
identifier = { name = "brotli-streams"; version = "0.0.0.0"; };
15+
license = "BSD-3-Clause";
16+
copyright = "(c) 2016, Herbert Valerio Riedel";
17+
maintainer = "https://github.com/haskell-hvr/brotli-streams";
18+
author = "Herbert Valerio Riedel";
19+
homepage = "https://github.com/haskell-hvr/brotli-streams";
20+
url = "";
21+
synopsis = "IO-Streams interface for Brotli (RFC7932) compression";
22+
description = "<http://brotli.org Brotli> (<https://tools.ietf.org/html/rfc7932 RFC7932>) is a generic-purpose lossless compression algorithm suitable for <https://en.wikipedia.org/wiki/HTTP_compression HTTP compression> that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.\n\nThis package provides an IO-Streams interface for the Brotli compression algorithm.\n\nDecompressing Brotli 'InputStreams' and compressing 'OutputStreams'\nto Brotli streams with tunable (de)compression parameters is supported.\n";
23+
buildType = "Simple";
24+
};
25+
components = {
26+
"library" = {
27+
depends = [
28+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
29+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
30+
(hsPkgs."io-streams" or (errorHandler.buildDepError "io-streams"))
31+
(hsPkgs."brotli" or (errorHandler.buildDepError "brotli"))
32+
];
33+
buildable = true;
34+
};
35+
tests = {
36+
"lzma-streams-test" = {
37+
depends = [
38+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
39+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
40+
(hsPkgs."io-streams" or (errorHandler.buildDepError "io-streams"))
41+
(hsPkgs."brotli-streams" or (errorHandler.buildDepError "brotli-streams"))
42+
(hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit"))
43+
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
44+
(hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework"))
45+
(hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit"))
46+
(hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2"))
47+
];
48+
buildable = true;
49+
};
50+
};
51+
};
52+
}

0 commit comments

Comments
 (0)