piyush-kurur 2017-02-23 20:51:10
raaz now hides SHA1 as much as possible (good that collision happened before release date).
piyush-kurur 2017-02-23 20:51:41
https://github.com/raaz-crypto/raaz/commit/3e3c4847fcd6b7457027aa00feb49c5c04e0a6c4
halogenandtoast 2017-02-23 20:53:01
Good on them.
athan 2017-02-23 20:56:16
yuno sha-3 p_p
Cooler 2017-02-23 20:59:43
is the ecmascript 2017 async await the monadic bind?
Cooler 2017-02-23 20:59:58
the syntax looks very much like do notation
ezyang 2017-02-23 21:00:04
Cooler: Almost nearly but apparently not actually?
osa1 2017-02-23 21:12:44
mmm why there isn't a hoistEither for ExceptT?
cocreature 2017-02-23 21:15:02
osa1: there is one in the "errors" package
osa1 2017-02-23 21:15:40
nice thanks cocreature
osa1 2017-02-23 21:15:52
I was using either package but EitherT doesn't have instances I need
phadej 2017-02-23 21:18:20
hmm, that's less general then either throwError return
osa1 2017-02-23 21:19:51
ugh
osa1 2017-02-23 21:19:58
it's specific to a transformer
osa1 2017-02-23 21:19:59
why
osa1 2017-02-23 21:20:10
I was assuming that it's the general version
osa1 2017-02-23 21:21:04
one more function to add to Utils.hs :-)
phadej 2017-02-23 21:22:48
osa1: errors doesn't depend on mtl :)
osa1 2017-02-23 21:23:41
good point. unfortunately that's not an advantage in my case
srk 2017-02-23 21:34:45
hm. so I've managed to us lifted-async to make test = app1 `concurrently` app2 work in my monad but it uses readTBQueue to feed apps so events are only received by one of them
srk 2017-02-23 21:34:45
not sure how to wrap it so both apps can receive all messages
cocreature 2017-02-23 21:36:29
srk: you could have one queue per thread and an additional thread that reads from the original queue and inserts into both of these queues
cocreature 2017-02-23 21:37:20
srk: alternatively you could try to find a queue structure that has something like "dupTChan"
srk 2017-02-23 21:37:25
I think my double queue interface is weird
cocreature 2017-02-23 21:37:28
it looks like TBQueue itself doesn't provide this
srk 2017-02-23 21:37:34
yeah, TBChan does
cocreature 2017-02-23 21:38:20
I'm not actually sure if there is anything that prevents TBQueue from providing that operation
phadej 2017-02-23 21:40:58
cocreature: the implementation
MarcelineVQ 2017-02-23 21:41:18
srk: a possibly relevant and short section http://chimera.labs.oreilly.com/books/1230000000929/ch12.html#sec_server-state
srk 2017-02-23 21:41:35
this is what I've got now https://git.48.io/zre/c/bdeeb2ef0d495d9362671835f3f22bac562827d7?branch=master
MarcelineVQ 2017-02-23 21:41:35
the broadcast chan idea mostly
phadej 2017-02-23 21:41:36
tchan is "read :: STM a, write :: a -> STM ()", tqueue is "TVar [a]"; oversimplified
phadej 2017-02-23 21:42:13
there is: https://hackage.haskell.org/package/stm-chans-3.0.0.4/docs/Control-Concurrent-STM-TBChan.html
halogenandtoast 2017-02-23 21:43:18
I just want to take a moment and say the #haskell community is amazing, and I appreciate all the contributors
halogenandtoast 2017-02-23 21:43:33
After spending a day in the #lisp channel, I really appreciate the environment we have here
srk 2017-02-23 21:44:11
like I'm already using STM internally but now I want to hide this implementation behind monadic interface