1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 15:35:14 +03:00
Commit Graph

7605 Commits

Author SHA1 Message Date
Rob Rix
be973b5bae Generalize out a helper function to validate laws against alternative instances. 2016-07-26 13:11:52 -04:00
Rob Rix
5430f45850 Verify the merge laws over []/Maybe. 2016-07-26 13:06:18 -04:00
Rob Rix
df4621622a Formulate a merge law. 2016-07-26 13:03:13 -04:00
Rob Rix
475c97190c Parallelize the Mergeable spec. 2016-07-26 12:47:38 -04:00
Rob Rix
5d6b1cd047 Test the sequenceAlt laws over Syntax. 2016-07-26 05:39:02 -04:00
Rob Rix
7af29fcf10 Define the identity law over pure. 2016-07-26 04:25:45 -04:00
Rob Rix
6806438949 Generalize the sequenceAlt laws over the inner alternative functor. 2016-07-26 04:23:03 -04:00
Rob Rix
f76b334b8c Validate the sequenceAltLaws against the Identity instance. 2016-07-26 04:16:40 -04:00
Rob Rix
a0cf6ce702 Validate the relationship between sequenceAlt and merge. 2016-07-26 04:15:56 -04:00
Rob Rix
d1bbe1c029 Validate the sequenceAltLaws against Maybe. 2016-07-26 04:08:19 -04:00
Rob Rix
88bb767ff7 Group the law invocations by functor. 2016-07-26 04:07:46 -04:00
Rob Rix
734254194c Define sequenceAltLaws to take a generator of Mergeable values. 2016-07-26 04:06:51 -04:00
Rob Rix
fa3b7d126e Factor the sequenceAlt law properties into a separate function. 2016-07-26 04:04:24 -04:00
Rob Rix
93c53ed90a Stub in a property test for the proposed identity law. 2016-07-26 04:02:52 -04:00
Rob Rix
b03f1d3b91 Stub in a spec function. 2016-07-26 03:58:14 -04:00
Rob Rix
8f15a59282 Stub in a spec for the Mergeable stuff. 2016-07-26 03:56:52 -04:00
Rob Rix
a64e6736a3 Define a Mergeable instance over Identity. 2016-07-26 03:56:10 -04:00
Rob Rix
4863611ecc 🔥 the RULES pragma on Mergeable.
I don’t understand what they do well enough for this to be anything but
a maintenance burden.
2016-07-26 03:54:41 -04:00
Rob Rix
7435e9069c Wrap all the branch cases but Fixed in Indexed. 2016-07-26 03:50:13 -04:00
Rob Rix
b95cadd9a8 Factor catMaybes out of the alignment cases. 2016-07-22 18:43:16 -04:00
Rob Rix
a495f143aa Align leaves and comments through alignBranch. 2016-07-22 18:42:31 -04:00
Rob Rix
77969d5366 Merge branch 'master' into sequenceable
# Conflicts:
#	src/Diff.hs
#	src/Syntax.hs
2016-07-22 18:40:11 -04:00
Rob Rix
49ac4fea8c Add a rewrite rule for merge identity. 2016-07-22 18:00:56 -04:00
Rob Rix
054413b47e 🔥 genericSequenceAlt. 2016-07-22 17:53:59 -04:00
Rob Rix
698e829e03 Define the Mergeable instance over [] in terms of merge/gmerge. 2016-07-22 17:53:24 -04:00
Rob Rix
5c25157593 sequenceAlt defaults to merge identity. 2016-07-22 17:52:30 -04:00
Rob Rix
afd67dbbd9 Define a merge method in Mergeable which generalizes sequenceAlt. 2016-07-22 17:51:57 -04:00
Rob Rix
8f8bf5dad9 Define a genericMerge helper. 2016-07-22 17:50:08 -04:00
Rob Rix
1d7645cafe GMergeable has a gmerge method generalizing gsequenceAlt. 2016-07-22 17:49:07 -04:00
Rob Rix
9ae7f52e8f Rename Sequenceable to Mergeable. 2016-07-22 17:38:10 -04:00
Rob Rix
07dd026e55 Merge pull request #611 from github/syntax-redux
Flesh out syntax for diff summaries
2016-07-22 17:18:44 -04:00
joshvera
9686a7e53b Remove extra split2.html 2016-07-22 17:10:11 -04:00
joshvera
8e15f9c955 Use unwrap 2016-07-22 17:10:11 -04:00
Rob Rix
0b85a1826d Derive the Sequenceable instance over Syntax. 2016-07-22 16:15:04 -04:00
Rob Rix
f3f8aee39c Add a default signature for Sequenceable. 2016-07-22 16:14:44 -04:00
Rob Rix
f959917ae3 Define Sequenceable over [] in terms of GSequenceable over []. 2016-07-22 16:14:27 -04:00
Rob Rix
dabffff7d0 Implement GSequenceable over [] directly. 2016-07-22 16:13:54 -04:00
Rob Rix
609a90fb90 🔥 the default signature for gsequenceAlt. 2016-07-22 16:10:31 -04:00
Rob Rix
d32652d5eb Syntax is Sequenceable via genericSequenceAlt. 2016-07-22 16:09:28 -04:00
Rob Rix
2b81c34d8d Define a genericSequenceAlt function suitable for Sequenceable definitions. 2016-07-22 16:08:13 -04:00
Rob Rix
1ede2d2a23 Syntax uses the generically derived GSequenceable implementation. 2016-07-22 16:07:07 -04:00
Rob Rix
e780689400 Syntax is GSequenceable. 2016-07-22 16:06:52 -04:00
Rob Rix
ba90fdac88 Define a GSequenceable instance over []. 2016-07-22 16:06:29 -04:00
Rob Rix
ac6c451ab8 Sequenceable implies Functor. 2016-07-22 16:05:50 -04:00
Rob Rix
735f8128cf Define GSequenceable over products. 2016-07-22 16:01:07 -04:00
Rob Rix
21370a49a0 Define GSequenceable over sums. 2016-07-22 16:00:01 -04:00
Rob Rix
3913e078f4 Define GSequenceable over M1. 2016-07-22 15:58:36 -04:00
Rob Rix
9a94dddd2b Define GSequenceable over Rec1. 2016-07-22 15:57:47 -04:00
Rob Rix
bc5f05494d Define a default implementation of gsequenceAlt. 2016-07-22 15:42:31 -04:00
Rob Rix
ff869ec517 Define GSequenceable over K1. 2016-07-22 15:40:05 -04:00