Rob Rix
4d10edaf9a
Define a Show instance over Unions.
2017-03-26 12:09:15 -04:00
Rob Rix
28caa26d48
Define an Eq instance over Unions.
2017-03-26 12:09:09 -04:00
Rob Rix
7623df365c
Define instances of InUnion to select the correct element from the list of type constructors.
2017-03-26 12:08:00 -04:00
Rob Rix
9486b80efc
Define a typeclass to embed/project elements into/out of a Union.
2017-03-26 12:06:57 -04:00
Rob Rix
df3c26f17b
Define an n-ary union of type-constructors.
2017-03-26 12:06:05 -04:00
Rob Rix
f480bd5ad7
Stub in a module for an n-ary union of type constructors.
2017-03-26 12:05:49 -04:00
Timothy Clem
94dc2ac506
Implement NFData instances so we can deepseq
2017-03-13 16:46:52 -07:00
Timothy Clem
e9315fafe2
Merge remote-tracking branch 'origin/master' into interpreter-decomposition
2017-02-28 09:33:44 -08:00
Timothy Clem
a8ea6dcc05
Fix spacing
2017-02-27 11:25:20 -08:00
Rob Rix
361710dd65
Export gliftEq for use with types like Cofree.
2017-02-23 11:01:42 -05:00
Rob Rix
80c51abb31
Define a GEq1 instance for Cofree.
...
This is necessary because the `Eq1` instance which `free` provides is for the `Eq1` class provided by `prelude-extras` and not the one found in `Data.Functor.Classes` in `base`.
2017-02-23 10:57:15 -05:00
Rob Rix
8884e58f43
Define GEq1 instances for a bunch of common functors.
2017-02-21 16:24:55 -05:00
Rob Rix
636e096aab
Define a GEq1 instance for :.: with GEq1 fields.
2017-02-21 16:20:43 -05:00
Rob Rix
98f733cf46
Define a GEq1 instance for :*: with GEq1 fields.
2017-02-21 16:19:23 -05:00
Rob Rix
2fab8ef27a
Define a GEq1 instance for :+: of GEq1 fields.
2017-02-21 16:18:20 -05:00
Rob Rix
a28df10975
Define a GEq1 instance for M1 with GEq1 fields.
2017-02-21 16:16:49 -05:00
Rob Rix
8093a2b5d4
Define a GEq1 instance for Rec1 with GEq1 fields.
2017-02-21 16:16:08 -05:00
Rob Rix
45c78ed7f3
Define a GEq1 instance for K1 with Eq fields.
2017-02-21 16:14:31 -05:00
Rob Rix
3e66861ac4
Define a GEq1 instance for Par1.
2017-02-21 16:13:36 -05:00
Rob Rix
991731e43f
Only export genericLiftEq.
2017-02-21 16:11:31 -05:00
Rob Rix
18374a0397
📝 genericLiftEq.
2017-02-21 16:11:10 -05:00
Rob Rix
6ecbe9538f
📝 GEq1.
2017-02-21 16:10:07 -05:00
Rob Rix
c5e9a5d6cd
Define a GEq1 instance for U1.
2017-02-21 16:08:46 -05:00
Rob Rix
64e0c00353
Define a generic liftEq for Generic1 types with GEq1 instances.
2017-02-21 16:08:35 -05:00
Rob Rix
1cd3216f47
Stub in a GEq1 typeclass.
2017-02-21 16:03:35 -05:00
Rob Rix
e31191f4fa
Stub in a module for a generic Eq1 instance.
2017-02-21 16:00:36 -05:00
Rob Rix
3906d33194
This weight is already being added by way of the lifts.
2017-02-14 12:38:07 -05:00
Rob Rix
e35e8d788e
Simpler definitions of liftCons2 through 5.
2017-02-14 12:21:12 -05:00
Rob Rix
319ecc61ce
Simpler definition of liftTiers2 over (,).
2017-02-14 12:20:56 -05:00
Rob Rix
ad81f4f605
Add weight to every layer of Free/Cofree.
2017-02-14 11:59:42 -05:00
Rob Rix
c275b0fc04
Export ofWeight and addWeight.
2017-02-14 11:59:15 -05:00
Rob Rix
7d284252c5
Migrate semantic-diff to lts-8.0.
2017-02-13 17:25:45 -05:00
Timothy Clem
2f230a485e
Add receiver to Syntax.Method
2017-02-07 14:53:15 -08:00
Rob Rix
364d36f40f
Use the Tier type synonym more widely.
2017-01-12 15:53:31 -05:00
Rob Rix
34d6c36b0c
📝 Data.Functor.Listable.
2017-01-10 16:10:07 -05:00
Rob Rix
75d4488bf8
Export a Tier
type synonym.
2017-01-07 23:37:20 -05:00
Rob Rix
ddaa2d2d18
Define a Listable newtype wrapper for Listable1 type applications.
2017-01-07 09:13:40 -05:00
Rob Rix
a9ba058cf9
Define a Listable1 instance over (Listable1 f, Listable a) => CofreeF f a.
2017-01-07 09:07:48 -05:00
Rob Rix
8a06e024f5
Define a Listable1 instance over (Listable1 f, Listable a) => FreeF f a.
2017-01-07 09:03:38 -05:00
Rob Rix
ecd78d57fa
Define a Listable1 instance over Listable1 f => Free f.
2017-01-05 15:48:08 -05:00
Rob Rix
b63dab4641
Define a Listable2 instance over Listable1 f => FreeF f.
2017-01-05 15:47:18 -05:00
Rob Rix
378acc4fc9
Define a Listable1 instance over Listable1 f => Cofree f.
2017-01-05 15:46:29 -05:00
Rob Rix
1cd0a540d4
Define a Listable2 instance over Listable1 f => CofreeF f.
2017-01-05 15:45:37 -05:00
Rob Rix
46c29feb45
Define a Listable2 instance over Either.
2017-01-05 15:33:51 -05:00
Rob Rix
0331398deb
Define a Listable2 instance over These.
2017-01-05 15:26:17 -05:00
Rob Rix
1dc26e985d
Define a Listable1 instance over Joins of Listable2 bifunctors.
2017-01-05 15:24:56 -05:00
Rob Rix
6a1b6e7e76
Define a lifted cons over 4-ary constructors.
2017-01-05 15:22:11 -05:00
Rob Rix
b39a9c2d0e
Define a Listable1 instance over [].
2017-01-05 15:11:05 -05:00
Rob Rix
6a2b1bf3a6
Define a Listable1 instance over Listable a => ((,) a).
2017-01-05 14:40:57 -05:00
Rob Rix
62eac61fe1
Define a Listable2 instance over (,).
2017-01-05 14:40:37 -05:00
Rob Rix
8d9562e94e
Define a lifting of cons3.
2017-01-05 14:40:28 -05:00
Rob Rix
e5f4aed989
Define a lifting of cons2.
2017-01-05 14:40:16 -05:00
Rob Rix
fe6a0852c5
Lift Listable through Listable2.
2017-01-05 14:39:51 -05:00
Rob Rix
6db5cf152a
Lift Listable over * -> * -> *.
2017-01-05 14:39:10 -05:00
Rob Rix
cae179abc2
Define a Listable1 instance over Maybe.
2017-01-05 14:38:45 -05:00
Rob Rix
1e57f7474b
Define a lifting of cons1.
2017-01-05 14:38:31 -05:00
Rob Rix
f17fd281ab
Lift Listable through Listable1.
2017-01-05 14:37:39 -05:00
Rob Rix
2d9f56f946
Lift Listable over * -> *.
2017-01-05 14:37:02 -05:00
Rob Rix
da422724b3
Re-export Listable & the tier operators.
2017-01-05 14:36:16 -05:00
Rob Rix
22248f26bf
Stub in a Listable module.
2017-01-05 14:34:45 -05:00
joshvera
1c3fe8e944
Add StrictData to semantic-diff library
2016-10-12 18:28:46 -04:00
joshvera
4281549eb0
Add -funbox-strict-fields annotations to some data types
2016-10-12 17:28:27 -04:00
joshvera
09304a5df2
Add strictness annotations to a few types
2016-10-12 16:34:12 -04:00
Rob Rix
62196878fa
Merge branch 'master' into ghc8
...
# Conflicts:
# semantic-diff.cabal
# src/Diff.hs
# src/Term.hs
# src/Term/Arbitrary.hs
# stack.yaml
# tools/semantic-git-diff/src/SemanticDiff.hs
2016-09-14 16:12:47 -04:00
Rob Rix
093048b736
Stop hiding a symbol we don’t shadow.
2016-07-22 11:58:09 -04:00
Rob Rix
e914685790
Don’t warn of orphans so much.
2016-06-30 12:59:26 -04:00
joshvera
ef6b174c7d
Merge remote-tracking branch 'origin/master' into ghc8
2016-06-15 10:10:07 -07:00
Rob Rix
7802d4916c
🔥 FlexibleInstances & RecordWildCards pragmas.
2016-06-03 16:02:06 -04:00
joshvera
583206d728
Export Join from Data.Functor.Both so we can use runJoin
2016-06-01 17:39:26 -04:00
joshvera
fbf368b659
Merge remote-tracking branch 'origin/master' into ghc8
2016-05-31 13:49:17 -04:00
joshvera
dcd8b0de32
Bump to lts nightly for ghc-8.0
2016-05-27 13:10:04 -04:00
Rob Rix
cfe15a5afa
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
...
# Conflicts:
# src/Alignment.hs
# src/Control/Comonad/Cofree.hs
# src/Data/Adjoined.hs
# src/Data/Align.hs
# src/Data/Bifunctor/These.hs
# src/Data/Coalescent.hs
# src/Data/Copointed.hs
# src/Data/Functor/Both.hs
# src/Data/Option.hs
# src/Line.hs
# src/Patch.hs
# src/Range.hs
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# src/Renderer/Split.hs
# src/SplitDiff.hs
# stack.yaml
# test/AlignmentSpec.hs
# test/CorpusSpec.hs
# test/Data/Adjoined/Spec.hs
# test/Data/Functor/Both/Spec.hs
2016-05-26 15:25:45 -04:00
joshvera
8180b37285
Use Protolude via the Prologue module and add NoImplicitPrelude
2016-05-26 12:58:04 -04:00
Rob Rix
64026caa06
🔥 runBoth.
2016-04-25 16:07:52 -04:00
Rob Rix
d5575fb999
🔥 pairWithThese.
2016-04-25 15:27:50 -04:00
Rob Rix
b0ed956779
🔥 maybeBothOfThese.
2016-04-25 15:24:46 -04:00
Rob Rix
a61d847705
Replace Data.Bifunctor.These and Data.Align with the these
package.
2016-04-14 22:00:00 -04:00
Rob Rix
4845ee1245
🔥 the TotalCrosswalk instance over Both.
2016-04-14 21:59:44 -04:00
Rob Rix
d2beafdc84
🔥 Both.unzip.
2016-04-04 16:25:16 -04:00
Rob Rix
de6696ce50
Simplify unzip
using the Applicative
instance.
2016-04-04 15:41:01 -04:00
Rob Rix
fd150be38e
🔥 bothOfThese
.
2016-04-04 15:39:07 -04:00
Rob Rix
a33acf8bdf
Simplify maybeBothOfThese
around fromThese
.
2016-04-04 15:38:56 -04:00
Rob Rix
25bae5d9e0
Simplify bothOfThese
around fromThese
.
2016-04-04 15:38:07 -04:00
Rob Rix
06c4759aed
Represent Both
as Join (,)
.
2016-04-04 15:01:47 -04:00
Rob Rix
ca1f7ecfef
More docs.
2016-03-21 13:04:32 -04:00
Rob Rix
5588378da9
Document pairWithThese.
2016-03-21 13:03:50 -04:00
Rob Rix
6ac6a96179
Add a (total) convenience to pair the elements of Both with These.
2016-03-21 13:03:15 -04:00
Rob Rix
0fc6dd758b
Redefine the Coalescent instance for Both over Both (Line a).
2016-03-15 11:10:34 -04:00
Rob Rix
0fd1c65ce8
🔥 modifyBoth.
2016-03-15 08:24:50 -04:00
Rob Rix
1b274c3e57
🔥 BothMaybe.
2016-03-14 19:46:56 -04:00
Rob Rix
c6c25a3fc6
Add a TotalCrosswalk instance for Both.
2016-03-14 19:44:46 -04:00
Rob Rix
6b28569afc
Add a function to modify the tuple inside a Both.
2016-03-14 19:14:29 -04:00
Rob Rix
5bc7448f26
The new Coalescent signature admits an instance over Both.
2016-03-14 18:34:16 -04:00
Rob Rix
e512d6f0d7
coalesce
depends on an Alternative instance.
2016-03-14 18:31:17 -04:00
Rob Rix
8c296b83be
Document bothWithDefault.
2016-03-14 15:41:40 -04:00
Rob Rix
c877cdf0d2
s/MaybeBoth/BothMaybe.
2016-03-14 14:13:46 -04:00
Rob Rix
bf74097847
Add a bothWithDefault function to convert MaybeBoth back into Both.
2016-03-14 14:11:01 -04:00
Rob Rix
c0b9e66981
Document justBoth.
2016-03-11 16:59:34 -05:00
Rob Rix
a6d2892a31
Add a justBoth function to lift Both a into MaybeBoth a.
2016-03-11 16:58:53 -05:00
Rob Rix
62c1798bf5
Document maybeBothOfThese.
2016-03-11 16:57:32 -05:00