-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
18 lines (17 loc) · 1.43 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[ ] `modify` is kind of unneeded, it's just a variation of `use` without a returned `b`.
[ ] To test this, add a testing mode that will warn if anything is not freed or
freed twice at runtime by keeping additional track of references in some
structure. Then, run ghengin with this validation to see if nothing is broken.
[x] Reliable instances through Generic. Currently we fail too often to make an instance and can get into overlapping instances issues (those ought to be fixed by {-# OVERLAPPING #-} the (Alias _ _) instance).
[x] Does the 'Alias' name match with the 'forget' and 'share' functions better than 'RefC'? What does it mean to share an alias? Isn't it more like making one...? I suppose one could think of sharing an aliased resource!
[ ] Write testsuite
[ ] Include a tutorial in the README
[-] If we require the free function on "forget" we might be able to instance Functor, but then how would "get" work?
[-] Perhaps we can make use of the Dupable instance to get rid of the countable instance?
No, that's quite orthogonal
[-] Instance Dupable and Consumable for aliased things. Instead we have Forgettable and Shareable
[x] Use name Aliased instead of RefC?
[x] Wait for ghc patch to Cmm parser
[x] Wait for Bodigrim's PR on atomic-counter
[x] Report segfaults on atomic-counter benchmarks
[ ] Use Unlifted Counter instead: https://hackage.haskell.org/package/atomic-counter-0.1.1/docs/Control-Concurrent-Counter-Unlifted.html