Commit graph

23 commits

Author SHA1 Message Date
Alexander McCord
b25df642da Move the macros to be at the top. 2024-06-02 19:41:34 -07:00
Alexander McCord
56d4f52434 Fields shouldn't even be constructible. 2024-06-02 19:40:53 -07:00
Alexander McCord
ba53dd03dc Add LanguageHash<std::vector<T>>. 2024-06-02 19:34:09 -07:00
Alexander McCord
fd810237c3 Make operands be usable in const context. 2024-06-02 18:35:38 -07:00
Alexander McCord
bf62839634 Rework the API entirely. 2024-06-02 17:30:15 -07:00
Alexander McCord
26f1d18c81 Implement rebuild and show it works. 2024-06-01 16:33:51 -07:00
Alexander McCord
15167ad497 Make Language noexcept and final. 2024-06-01 13:10:37 -07:00
Alexander McCord
c8a1651c89 Implement Language::operands() which means EGraph is able to canonicalize. 2024-05-27 17:05:02 -07:00
Alexander McCord
d9835952b7 Improve Language::Hash too. 2024-05-26 22:31:59 -07:00
Alexander McCord
68efd51b56 It's not always Id. 2024-05-26 22:28:55 -07:00
Alexander McCord
f82e6d79a4 Probably should document this magic number. 2024-05-26 22:24:03 -07:00
Alexander McCord
f808ed2438 Inline DERIVE_EQ and DERIVE_HASH. 2024-05-26 22:18:25 -07:00
Alexander McCord
2fdc5c8f98 Add ADL-based hash resolution. 2024-05-26 22:17:28 -07:00
Alexander McCord
c189ed6d18 Rename a couple of type parameters to Phantom to make them clear. 2024-05-26 19:57:00 -07:00
Alexander McCord
ffb353aee9 Redundant static_assert. Rework it a smidge. 2024-05-26 19:51:39 -07:00
Alexander McCord
2a2de1cea2 Add nodes that can point to child enodes. 2024-05-26 19:47:27 -07:00
Alexander McCord
0d882367f7 Clip this comment. 2024-05-26 16:14:58 -07:00
Alexander McCord
1f05cf27c3 One more private label to section this off from the data part. 2024-05-26 15:47:56 -07:00
Alexander McCord
b574667c80 Language is also Hash. 2024-05-26 15:46:39 -07:00
Alexander McCord
38ccd662f2 Expand Language with variant stuff. 2024-05-26 15:21:08 -07:00
Alexander McCord
d6f553a794 Sketch out Language a little bit. Still WIP. 2024-05-26 13:12:27 -07:00
Alexander McCord
640ead1b9e Not sure why Language was templated. Absent-minded me. 2024-05-19 11:38:11 -07:00
Alexander McCord
2338185296 Definition 2.1.1. 2024-05-18 15:26:57 -07:00