Age | Commit message (Collapse) | Author |
|
|
|
A bunch of formatting changes got in there too. Oops.
I will probably eventually de-namespace everything, mostly because I'm
tired of typing "Com.Whatever.Thing" all the time. A better namespacing
strategy might be to use normal Haskell namespacing (Data, Control,
Network, etc) for code that is not specific to biz activities (i.e. if I
could open-source it at any time), and use simply "Biz" for stuff that I
would never want to open-source.
|
|
Also *really* block on writes.
|
|
|
|
|
|
I also block before taking, instead of doing a mult and tap. This is a
simple way to fix the memory issue, and makes them conceptually simpler
to work with I think.
The channels are still mutli-consumer and multi-producer, which is
fine. I'm not sure now I will implement the regular pubsub, but I'm not
sure there is a great usecase for that anyway.
|
|
The performance is reportedly better. The API is simpler. Also with STM
channels, I couldn't get multiconsumer to work. I was able to get it to
work with unagi. Also I could write 'mult' and 'tap' which bring me back
to my Clojure days.
|
|
|
|
As much as I like these operators, I have to remove them because they
don't work as expected. Haskell doesn't allow you to have unary prefix
operators. I can't find a way around this, and it's not that important
anyway.
|
|
|