Commit Graph

126 Commits

Author SHA1 Message Date
Mark Karpov
711c639259 Apply more strict flags but only on CI 2020-02-13 11:41:06 +01:00
Mark Karpov
0adf4830b4 Use the new Buildkite setup and build with Nix 2020-02-13 11:41:06 +01:00
Mathieu Boespflug
01f709852b Normalize spacing in .cabal file 2019-12-30 08:53:05 +01:00
Mathieu Boespflug
9290329b2e Bump version 2019-12-29 23:52:22 +01:00
Mathieu Boespflug
5ab2eddbc1 Add extra Static instances for constraint tuples
Closes #19
2019-12-29 21:58:33 +01:00
Mathieu Boespflug
89fe6aabba Drop GHC <8.4 support
We support the latest three GHC releases: 8.4, 8.6, 8.8.
2019-12-29 21:57:45 +01:00
Mathieu Boespflug
3af7a53159 Use Buildkite badge 2019-12-29 21:37:39 +01:00
Mathieu Boespflug
74d8c9d92f Remove TravisCI configuration file 2019-12-29 21:37:27 +01:00
Mathieu Boespflug
e3ba2fa63a buildkite agent boilerplate 2019-12-29 21:33:12 +01:00
Mathieu Boespflug
d9a50c01ce Add stack lock file 2019-12-29 21:22:43 +01:00
Mathieu Boespflug
2471453592 Switch from CircleCI to Buildkite 2019-12-29 21:21:30 +01:00
Mathieu Boespflug
5619c8a7c4 Add a Nix shell file and instruct Stack to use shell provided GHC 2019-12-29 21:18:21 +01:00
Mathieu Boespflug
996fe7c235 Switch to latest LTS. 2019-12-29 19:37:17 +01:00
Mathieu Boespflug
3c9d3e0c9c
Merge pull request #24 from facundominguez/fd/ghc-8.9
Fix build error in ghc-8.9
2019-07-19 00:48:41 +03:00
Facundo Domínguez
a1c6780d87 Fix build error in ghc-8.9. 2019-07-12 13:20:22 -03:00
Mathieu Boespflug
1819fe3cf5 Bump version. 2019-03-20 14:50:57 +01:00
Mathieu Boespflug
18689b9a6b Switch to latest LTS. 2019-03-20 14:50:00 +01:00
Mathieu Boespflug
dcb28d9df2 Turn on UndecidableInstances in test file.
Since newer GHC is stricter about undecidable instances.
2019-03-20 14:49:36 +01:00
Mathieu Boespflug
9bc2f9e33d Bump version. 2018-09-18 20:42:50 +02:00
Mathieu Boespflug
5776daefae
Merge pull request #18 from tweag/ghc84
GHC 8.4 compatibility
2018-09-13 10:17:30 +03:00
Mathieu Boespflug
8759ae5860 Import Test.QuickCheck qualified to avoid name clashes. 2018-09-12 23:38:12 +02:00
Mathieu Boespflug
c366af62a2 Switch to LTS 12. 2018-09-12 23:38:12 +02:00
Mathieu Boespflug
6059d410c4 Allow instance Typeable in withStatic blocks
`Typeable` instances are not user defined. But the user nevertheless
sometimes needs static evidence of typeability. The solution is to
allow users to write

```haskell
withStatic [d| instance Typeable T |]
```

for any datatype `T`. `withStatic` will generate static evidence, but
won't pass through the instance declaration itself, since it is
illegal.
2018-09-12 23:38:12 +02:00
Mathieu Boespflug
793ee0627d Add Static instance for pairs of constraints. 2018-09-12 23:38:09 +02:00
Andreas Herrmann
49be4a95cf
Merge pull request #15 from tweag/ah/add-example
Add an example of sending functions
2018-02-07 12:33:12 +01:00
Andreas Herrmann
fd2c60230b Add link from README to example 2018-02-07 11:55:15 +01:00
Andreas Herrmann
1723990fb7 Add an example of sending functions
As requested in #13.
2018-02-07 10:40:32 +01:00
Facundo Domínguez
dceeb25a2a Bump version to 0.4.0 and update changelog. 2018-02-06 09:20:49 -03:00
Facundo Domínguez
df9b79af74
Merge pull request #14 from tweag/fd/check-scopedtypevariables
Check that ScopedTypeVariables is enabled when using withStatic
2018-02-06 09:19:50 -03:00
Facundo Domínguez
604068fe5f Add more tests of withStatic. 2018-02-06 09:06:52 -03:00
Facundo Domínguez
87b4dfb313 Test that the extension ScopedTypeVariables is enabled when using withStatic. 2018-02-06 09:06:52 -03:00
Facundo Domínguez
e22aa9bc72 Bump version to 0.3.5 and add a changelog. 2018-02-01 09:38:39 -03:00
Facundo Domínguez
1612944995 Prevent warnings about redundant 'Typeable (Dict A)' constraints when A has no type variables. 2017-12-22 14:54:14 -03:00
Mathieu Boespflug
dea643bec6 Merge pull request #12 from tweag/static-class-hierarchy
Introduce static class hierarchy.
2017-08-16 19:13:46 +02:00
Mathieu Boespflug
3e351fd3da Add extra Comonad laws. 2017-08-16 19:13:01 +02:00
Mathieu Boespflug
95a853d140 Remove Closure from definition of Applicative. 2017-08-16 13:08:46 +02:00
Mathieu Boespflug
d101795465 Remove C.D.C.Class module.
Holdover from previous commits.
2017-08-16 12:53:53 +02:00
Mathieu Boespflug
cff1ce0de5 Define type class hierarchy in separate modules. Remove StaticBifunctor.
We split type classes into their own modules that mirror the standard
module hierarchy, with `.Static` appended to the end of the names of
each module.
2017-08-15 08:19:46 +02:00
Mathieu Boespflug
143aae1fa4 Add StaticBifunctor, StaticProfunctor, StaticStrong and StaticChoice.
Thes are cardinal points in a lattice of profunctor optics, as
explained in "Profunctor Optics: modular data accessors" by Pickering
et al.
2017-08-13 15:06:41 +02:00
Mathieu Boespflug
5f4521be44 Fix Apply/Bind laws. 2017-08-12 23:48:23 +02:00
Mathieu Boespflug
ed07c6fed5 Add capDup combinator. Useful for stating Apply/Bind laws. 2017-08-12 23:47:32 +02:00
Mathieu Boespflug
4ac9d35c57 Laws for StaticApply and StaticBind. 2017-06-25 16:15:19 +02:00
Mathieu Boespflug
65d4ca6bf6 Fix signature of staticApply.
Make it consistent with `staticApply (staticPure f) x = staticMap f x`
law.
2017-06-25 16:14:03 +02:00
Mathieu Boespflug
9d72902de5 StaticExtend class.
semigroupoid version of StaticComonad. For consistency with the rest
of the class hierarchy.
2017-06-25 16:13:06 +02:00
Mathieu Boespflug
9a20eb0cc1 Introduce static class hierarchy.
`Closure` is not a functor, since we cannot map arbitrary functions
over it. But it sure looks like one, and an applicative one at that.
What we can do is map "static" functions over it (i.e. a `Closure`).
`Closure` is not just an applicative functor, it's also a monad, as
well as a comonad, if again we limit the function space to those
functions that can be statically pointed to. In fact an entire
hierarchy of classes mirroring the standard classes can be defined.
2017-06-19 21:49:07 +02:00
Mathieu Boespflug
feab2cedee Add stack setup step. 2017-06-19 20:19:09 +02:00
Mathieu Boespflug
6d0aef4516 Enable CircleCI. 2017-06-19 20:08:28 +02:00
Arnaud Spiwack
eb50fcca61 Merge pull request #9 from tweag/better-generators
Tests: Add non-trivial generators for Closure
2017-06-19 18:01:22 +02:00
Arnaud Spiwack
a31397641b Tests: slight simplification of generators
We don't need a table at every type, just inhabitants. Still far from
being extensible to more types though.
2017-06-19 17:38:55 +02:00
Arnaud Spiwack
f018546e57 Tests: add some comments on the generation strategy 2017-06-19 17:38:55 +02:00