1
1
mirror of https://github.com/github/semantic.git synced 2025-01-02 12:23:08 +03:00
Commit Graph

7596 Commits

Author SHA1 Message Date
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
Rob Rix
5b36bf1507 Define GSequenceable over Par1. 2016-07-22 15:40:01 -04:00
Rob Rix
7203942df2 Implement GSequenceable over unit constructors. 2016-07-22 15:36:17 -04:00
Rob Rix
e93a826f52 Stub in a GSequenceable typeclass. 2016-07-22 15:34:28 -04:00
Rob Rix
808f15d40e Stub in a generic Sequenceable module. 2016-07-22 15:33:01 -04:00
Rob Rix
dd0e4d890f Define mergeMaybe’s algebra using sequenceAlt. 2016-07-22 15:32:11 -04:00
Rob Rix
22476895c6 Define mergeMaybe’s algebra by iteration.
This is a restricted class of catamorphism which happens to line up
exactly with what we’re doing here.
2016-07-22 15:31:10 -04:00
Rob Rix
9b322da2be Add a Sequenceable instance over Syntax. 2016-07-22 15:30:35 -04:00
Rob Rix
a9829e67cd Add a Sequenceable instance over []. 2016-07-22 15:29:12 -04:00
Rob Rix
f53cf8f05e Stub in a Sequenceable typeclass. 2016-07-22 15:28:47 -04:00