Leni Aniva
Leni Aniva
I'll periodically merge `master` into this branch and see if anything changes, but I have spent >8h on this and I could not make more progress
> Any progress? I'm in the same predicament and I really want it to work on my x86_64-darwin. Is there anything I can do to help? > > I finally...
> Any progress? I'm in the same predicament and I really want it to work on my x86_64-darwin. Is there anything I can do to help? > > I finally...
For example maybe we could have ```rust let mut factory: HConsign = HConsign::from_arena(arena); factory.mk(Expr::Add(1, 2)); // Calls `arena.alloc_arc(Expr::Add(1,2))` ```
> This sounds great, but unfortunately I don't have a lot of time to spend on this... > > Would you be interested in writing a PR for this? Yes....
There is currently a problem. The implementation of `HConsign` requires the `Weak` type, so it would look something like ```rust pub struct HConsign { /// The actual hash consing table....
> On that note, it seems to me like instead of having 4 or 5 or more parameters, we could just have one trait that specifies everything (types and functions)...
I've submitted a PR for shared_arena so the `ArenaArc` type can expose a strong count that we can use to implement bookkeeping mechanisms.
Update: I think `shared_arena` is no longer being maintained. I can make a fork that includes a weak pointer.