1
1
mirror of https://github.com/github/semantic.git synced 2024-12-18 20:31:55 +03:00
Commit Graph

15062 Commits

Author SHA1 Message Date
Rob Rix
a2b9f9ce17 Implement Syntax equality using a function which expresses the equality of the functor. 2015-09-30 14:42:44 -04:00
Rob Rix
92d844f416 Extract the exception-for-control-flow ErrorType to global scope. 2015-09-30 14:40:30 -04:00
Rob Rix
6ecf6fdd98 Merge pull request #39 from github/simpler-ast
Simpler AST
2015-09-30 12:43:43 -04:00
Rob Rix
88b677e1e0 Parameterize the type of Leaf. 2015-09-30 12:41:20 -04:00
Rob Rix
5529a502e3 Require Recur to be Hashable. 2015-09-30 12:40:49 -04:00
Rob Rix
de3ef64f48 Map using Hash.init. 2015-09-30 12:40:36 -04:00
Rob Rix
5fa07014a6 Replace all the other nodes with Branch. 2015-09-30 11:42:41 -04:00
Rob Rix
a0f562d25e Leaves, not Literals. 2015-09-30 11:03:55 -04:00
Rob Rix
4712e1c2cc Add CustomHashConvertible for non-Equatable objects that can be converted to Hashes. 2015-09-30 10:46:01 -04:00
Rob Rix
66b225fce3 Replace Case with a constructor. 2015-09-30 10:44:48 -04:00
Rob Rix
565800b1b0 Add a constructor for Int hashes. 2015-09-30 10:43:18 -04:00
Rob Rix
9841debe91 No longer need to disambiguate String. 2015-09-30 10:42:43 -04:00
Rob Rix
b581b8b71d Rename String to Label. 2015-09-30 10:42:27 -04:00
Rob Rix
d9eb3f6a69 Don’t need to disambiguate Int now. 2015-09-30 10:40:45 -04:00
Rob Rix
0cdb09a964 Rename the Int case to Raw. 2015-09-30 10:40:28 -04:00
Rob Rix
66141c95af Replace Literal/Variable with Leaf. 2015-09-30 10:36:25 -04:00
Rob Rix
1f253f4e12 Add a phantom type parameter to Syntax. 2015-09-30 10:31:48 -04:00
Rob Rix
308f81853d Rename the Payload type to Recur. 2015-09-30 10:29:38 -04:00
Rob Rix
4348604e66 Remove the typealias. 2015-09-30 10:29:32 -04:00
Rob Rix
96ff73726f Merge pull request #38 from github/algebraic-hashing
Algebraic hashing
2015-09-30 10:26:25 -04:00
Rob Rix
31d35c854b Term is AlgebraicHashable. 2015-09-29 17:03:18 -04:00
Rob Rix
586def93cd Syntax<A: AlgebraicHashable> implements hash. 2015-09-29 17:03:11 -04:00
Rob Rix
7925347d21 Debug print abstraction bodies correctly. 2015-09-29 17:02:57 -04:00
Rob Rix
1cf92c94d0 Conveniences for labelled/numbered enum cases. 2015-09-29 17:02:35 -04:00
Rob Rix
f1c2f4b9e0 Algebraic hashing of RawRepresentable types whose RawValue is [Algebraic]Hashable. 2015-09-29 17:02:01 -04:00
Rob Rix
b60df96019 Construction of Hash from Hashable/AlgebraicallyHashable values. 2015-09-29 17:01:38 -04:00
Rob Rix
e32bb2af29 Add a protocol for algebraically hashable types.
They’ll get `hashValue` for free.
2015-09-29 17:00:52 -04:00
Rob Rix
278bba4f82 Add an algebraic Hash type. 2015-09-29 17:00:26 -04:00
Rob Rix
29de111b1c How did this even build? 2015-09-29 12:57:17 -04:00
Rob Rix
8f9cc34709 Merge pull request #37 from github/simpler-diff-type
Simpler diff type
2015-09-29 12:55:13 -04:00
Rob Rix
60821016a2 Revert "Empty terms are copied, not patched."
This reverts commit 788dbaa07ceafc084dc0f10f74efc2aa2a6841ec.
2015-09-29 12:54:42 -04:00
Rob Rix
dfbfb9fe79 Short-circuit for equal terms. 2015-09-29 12:54:32 -04:00
Rob Rix
7d36421d6a Empty terms are copied, not patched. 2015-09-29 12:53:04 -04:00
Rob Rix
94bcc7d3f0 Remove empty diffs. 2015-09-29 12:50:34 -04:00
Rob Rix
35581fa6d9 Resume using .Empty for Terms. 2015-09-29 12:49:36 -04:00
Rob Rix
50e8223f18 Whitespaaaace. 2015-09-29 12:49:19 -04:00
Rob Rix
c3e8d9a801 Remove Term.Empty. 2015-09-29 12:48:53 -04:00
Rob Rix
17271ff2ce Add a constructor for empty terms. 2015-09-29 12:48:35 -04:00
Rob Rix
1bb9cbbbd4 Empty syntaxes are equatable. 2015-09-29 12:48:13 -04:00
Rob Rix
8c1b249df2 Add an Empty case to Syntax. 2015-09-29 12:44:47 -04:00
Rob Rix
2b7ff85ff8 Merge pull request #36 from github/prettier-printer
Model Doc on A Prettier Printer
2015-09-28 23:43:37 -04:00
Rob Rix
feff05b0c8 Move Layout to the end of the file. 2015-09-28 23:33:50 -04:00
Rob Rix
cfc92283db Layout is private. 2015-09-28 22:59:24 -04:00
Rob Rix
61bb6cff93 Use group as a method. 2015-09-28 22:58:24 -04:00
Rob Rix
8acde46998 group as a method. 2015-09-28 22:58:10 -04:00
Rob Rix
c6765e052a Replace the static bracket function. 2015-09-28 22:57:29 -04:00
Rob Rix
42cee56ef8 Bracket as an instance method. 2015-09-28 22:56:18 -04:00
Rob Rix
c4f710efd1 Don’t spread explicitly. 2015-09-28 22:54:41 -04:00
Rob Rix
d72913a0d3 Don’t fold explicitly. 2015-09-28 22:54:10 -04:00
Rob Rix
a63a4410fd Replace the stack function with an extension method. 2015-09-28 22:53:23 -04:00