Leni Aniva

Results 39 comments of 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.