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
|
ee62df2ffb
|
Make a note here.
|
2024-06-02 09:27:24 -07:00 |
|
Alexander McCord
|
c7adc18911
|
join should be const.
|
2024-06-01 20:37:50 -07:00 |
|
Alexander McCord
|
2ef0ccd5e8
|
Enforce exhaustiveness of make .
|
2024-06-01 18:03:14 -07:00 |
|
Alexander McCord
|
26f1d18c81
|
Implement rebuild and show it works.
|
2024-06-01 16:33:51 -07:00 |
|
Alexander McCord
|
4183c31d23
|
Implement egraph merging of two ids.
|
2024-06-01 15:24:35 -07:00 |
|
Alexander McCord
|
15167ad497
|
Make Language noexcept and final.
|
2024-06-01 13:10:37 -07:00 |
|
Alexander McCord
|
4122f3fbcb
|
Implement a basic version of Analysis. Will expand it later.
|
2024-05-28 08:31:25 -07:00 |
|
Alexander McCord
|
cd735ebad3
|
Slice is final.
|
2024-05-27 22:22:18 -07:00 |
|
Alexander McCord
|
6e996d1899
|
Start to implement some stuff according to pg 9.
|
2024-05-27 22:21:04 -07:00 |
|
Alexander McCord
|
bf51d9e613
|
This really should be an universal reference.
|
2024-05-27 21:14:18 -07:00 |
|
Alexander McCord
|
994efce30a
|
Let's just call it add .
|
2024-05-27 20:52:19 -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
|
18726c1ed5
|
This violates ODR. Move implementation to header.
|
2024-05-26 12:06:24 -07:00 |
|
Alexander McCord
|
11f72000a9
|
Move std::hash specialization to header.
|
2024-05-26 12:04:58 -07:00 |
|
Alexander McCord
|
d13a86be41
|
Formatting.
|
2024-05-24 13:27:03 -07:00 |
|
Alexander McCord
|
603da12809
|
Just realized DenseHashMap doesn't make sense for Id and L.
We are unlikely to have an "empty" value for both Id and L, so we have to use `std::unordered_map` for now.
|
2024-05-24 13:26:30 -07:00 |
|
Alexander McCord
|
00a15a9e8c
|
Add part of definition 2.2.
|
2024-05-24 13:26:25 -07:00 |
|
Alexander McCord
|
dd65db40ee
|
Make sure some things aren't inherited.
|
2024-05-24 10:49:05 -07:00 |
|
Alexander McCord
|
cf712b316a
|
Rename 3 fields.
|
2024-05-24 10:48:08 -07:00 |
|
Alexander McCord
|
b44c525f10
|
Got the type of hashcons wrong. Fixed.
|
2024-05-24 10:47:35 -07:00 |
|
Alexander McCord
|
640ead1b9e
|
Not sure why Language was templated. Absent-minded me.
|
2024-05-19 11:38:11 -07:00 |
|
Alexander McCord
|
b235faf489
|
Implement UnionFind, just without ranks.
|
2024-05-18 15:49:06 -07:00 |
|
Alexander McCord
|
2338185296
|
Definition 2.1.1.
|
2024-05-18 15:26:57 -07:00 |
|
Alexander McCord
|
ab0d7c0387
|
Add Luau.EqSat project with some barebones.
I have to comment out the `add_subdirectory(fuzz)` in order to allow cmake to finish the configuring step on Windows.
|
2024-05-18 01:07:45 -07:00 |
|