1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 14:54:16 +03:00
Commit Graph

191 Commits

Author SHA1 Message Date
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