1
1
mirror of https://github.com/github/semantic.git synced 2024-11-24 17:04:47 +03:00
Commit Graph

2233 Commits

Author SHA1 Message Date
Rob Rix
0013475516 Terms of Hashable leaf type can be hashed. 2015-10-01 09:54:44 -04:00
Rob Rix
c698280fc2 Pass the hashing function for the Recur type in. 2015-10-01 09:53:30 -04:00
Rob Rix
1635b8ab8a Info is AlgebraicHashable. 2015-10-01 09:46:02 -04:00
Rob Rix
cb5b7c0b33 Merge pull request #40 from github/syntactic-categorization
Syntactic categorization
2015-09-30 16:08:30 -04:00
Rob Rix
5dd80cb0ce Diff is defined over Term<Info>.
This enables diffs to operate on categorized Terms.
2015-09-30 16:05:39 -04:00
Rob Rix
84eeba6111 Info has a property for its Categories. 2015-09-30 16:02:01 -04:00
Rob Rix
d29e14508a Info has a Set of Categories. 2015-09-30 16:01:47 -04:00
Rob Rix
1ed5fc0e88 Categories are Hashable. 2015-09-30 16:00:13 -04:00
Rob Rix
282f56fb90 Categories have an accessor for their tag. 2015-09-30 16:00:03 -04:00
Rob Rix
5abbd36a80 Replace Location with Info. 2015-09-30 15:58:01 -04:00
Rob Rix
ddbe0943ef Location is Equatable. 2015-09-30 15:46:21 -04:00
Rob Rix
66281a6674 Document Literal Locations. 2015-09-30 15:46:16 -04:00
Rob Rix
0efffe3e3d Add source locations. 2015-09-30 15:29:56 -04:00
Rob Rix
459bad4dd6 Categories are equatable. 2015-09-30 15:29:40 -04:00
Rob Rix
f3122f1bae Move JSON construction of Term into doubt-swift. 2015-09-30 15:08:19 -04:00
Rob Rix
03d4fcfc53 Add Category. 2015-09-30 15:03:47 -04:00
Rob Rix
d7a8c64806 Abbreviate the properties. 2015-09-30 15:03:42 -04:00
Rob Rix
82720340ef Wrap with Term(). 2015-09-30 15:03:37 -04:00
Rob Rix
d8c718130b Lose an annotation. 2015-09-30 15:03:30 -04:00
Rob Rix
a6358b22d4 Remove CustomHashConvertible. 2015-09-30 15:02:31 -04:00
Rob Rix
2d0991b91f Abstract Term over a type parameter A. 2015-09-30 14:42:58 -04:00
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