lexi-lambda changed the topic of #racket to: Racket v7.2 has been released: https://blog.racket-lang.org/2019/01/racket-v7-2.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
pierpal has joined #racket
lockywolf_ has quit [Ping timeout: 276 seconds]
lavaflow has joined #racket
meepdeew has quit [Remote host closed the connection]
moldybits has quit [Quit: WeeChat 2.4]
libertyprime has quit [Ping timeout: 245 seconds]
enderby has joined #racket
moldybits has joined #racket
lavaflow has quit [Ping timeout: 258 seconds]
ZombieChicken has joined #racket
enderby has quit [Ping timeout: 258 seconds]
lavaflow has joined #racket
acarrico has joined #racket
lockywolf has joined #racket
orivej has quit [Remote host closed the connection]
orivej has joined #racket
acarrico has quit [Ping timeout: 272 seconds]
<samth> tonyg: i just think the "create a separate thread" solution is the right one
pierpal has quit [Ping timeout: 272 seconds]
lockywolf_ has joined #racket
libertyprime has joined #racket
lockywolf has quit [Ping timeout: 245 seconds]
lavaflow has quit [Ping timeout: 258 seconds]
Mayoi is now known as erkin
GoldRin has joined #racket
lavaflow has joined #racket
orivej has quit [Ping timeout: 272 seconds]
<greghendershott> tonyg: If you write a blog post, it would be interesting to hear you discuss how "just use threads" complicates exn handling etc.
<greghendershott> samth: lexi-lambda: Not urgent but the channel topic "Racket v7.2 has been released" could use a bump.
samth changed the topic of #racket to: Racket v7.3 has been released: https://blog.racket-lang.org/2019/05/racket-v7-3.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
orivej has joined #racket
jao has quit [Ping timeout: 258 seconds]
caltelt_ has joined #racket
caltelt has quit [Ping timeout: 246 seconds]
FreeFull has quit []
libertyprime has quit [Ping timeout: 245 seconds]
pierpal has joined #racket
orivej has quit [Ping timeout: 272 seconds]
libertyprime has joined #racket
libertyprime has quit [Ping timeout: 248 seconds]
ohama has quit [Ping timeout: 252 seconds]
ohama has joined #racket
dddddd has quit [Remote host closed the connection]
GoldRin has quit [Remote host closed the connection]
caltelt_ has quit [Ping timeout: 245 seconds]
endformationage has quit [Quit: WeeChat 2.4]
lockywolf_ has quit [Ping timeout: 258 seconds]
zmt01 has joined #racket
zmt00 has quit [Ping timeout: 252 seconds]
`micro has joined #racket
sauvin has joined #racket
Arcaelyx has quit [Ping timeout: 252 seconds]
cbarrett has quit [Ping timeout: 252 seconds]
rodlogic has quit [Ping timeout: 252 seconds]
cbarrett has joined #racket
rodlogic has joined #racket
moldybits has quit [Quit: WeeChat 2.4]
davidl has quit [Ping timeout: 244 seconds]
libertyprime has joined #racket
<tonyg> greghendershott: yeah that's the one approach i didn't even bother to concretely experiment with. i think it'll be important to do it concretely to have a good comparison.
orivej has joined #racket
Sgeo__ has joined #racket
Sgeo_ has quit [Ping timeout: 244 seconds]
libertyprime has quit [Ping timeout: 258 seconds]
libertyprime has joined #racket
libertyprime has quit [Read error: Connection reset by peer]
libertyprime has joined #racket
Sgeo_ has joined #racket
Sgeo__ has quit [Ping timeout: 272 seconds]
Sgeo_ has quit [Read error: Connection reset by peer]
Sgeo_ has joined #racket
pierpal has quit [Remote host closed the connection]
miskatonic has joined #racket
mSSM has joined #racket
sz0 has quit []
sz0 has joined #racket
ubLIX has joined #racket
Sgeo_ has quit [Read error: Connection reset by peer]
Sgeo_ has joined #racket
Sgeo__ has joined #racket
ubLIX has quit [Ping timeout: 272 seconds]
manualcrank has quit [Quit: WeeChat 1.9.1]
Sgeo_ has quit [Ping timeout: 248 seconds]
ubLIX has joined #racket
ubLXI has joined #racket
ubLIX has quit [Ping timeout: 248 seconds]
ng0 has joined #racket
DGASAU has quit [Remote host closed the connection]
DGASAU has joined #racket
_whitelogger has joined #racket
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
dddddd has joined #racket
soegaard has joined #racket
iyzsong has joined #racket
ZombieChicken has quit [Quit: Have a nice day]
notzmv has quit [Ping timeout: 258 seconds]
ricekrispie2 has joined #racket
ricekrispie has quit [Ping timeout: 244 seconds]
acarrico has joined #racket
lockywolf has joined #racket
jao has joined #racket
acarrico has quit [Ping timeout: 246 seconds]
acarrico has joined #racket
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 272 seconds]
soegaard has quit [Quit: soegaard]
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 246 seconds]
caltelt has joined #racket
lockywolf_ has joined #racket
lockywolf__ has quit [Ping timeout: 248 seconds]
rubic88 has joined #racket
iyzsong has quit [Read error: Connection reset by peer]
caltelt has quit [Ping timeout: 245 seconds]
Arcaelyx has joined #racket
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 245 seconds]
ng0 has quit [Quit: Alexa, when is the end of world?]
ubLXI has quit [Quit: ubLXI]
iclon_ has joined #racket
jao has quit [Remote host closed the connection]
iclon__ has quit [Ping timeout: 258 seconds]
jao has joined #racket
logicmoo is now known as dmiles
DGASAU has quit [Ping timeout: 248 seconds]
DGASAU has joined #racket
q9929t has joined #racket
zmt00 has joined #racket
zmt01 has quit [Ping timeout: 250 seconds]
cpup has quit [Quit: Breaking stuff]
cpup has joined #racket
<tonyg> samth greghendershott: it wasn't *soooo* awful to do it via threads, but there are quite a few subtleties and I'm not yet 100% this captures them all: https://gist.github.com/tonyg/90c2c8406a24b5357aa44b8677089a90#file-partial-reads-rkt-L497-L529
<tonyg> I do think it's pretty close though.
<tonyg> And it's probably the least awful productionish solution to the problem :)
<tonyg> You still have to be careful not to create more than a single event wrapping a given input port, but a single such event can be shared among threads freely
<tonyg> One potential downside is that, if reading of a frame has started but not stopped, and interest in the outcome goes away, the read will proceed to completion before the read-thread terminates, whereas with the effects-based solution no more reading will happen immediately
endformationage has joined #racket
<tonyg> Neither solution handles freely switching between blocking and event-based input well. You have to commit to event-based input once you've started.
lavaflow has quit [Ping timeout: 246 seconds]
q9929t has quit [Quit: q9929t]
lavaflow has joined #racket
libertyprime has quit [Ping timeout: 272 seconds]
casaca has quit [Ping timeout: 246 seconds]
emacsomancer has quit [Ping timeout: 245 seconds]
casaca has joined #racket
lavaflow has quit [Ping timeout: 272 seconds]
<greghendershott> tonyg: At first glance that still seems slightly "event heavy", to me?
<greghendershott> Could it simply return a channel, which the user could `channel-get` or `sync` as they happen to need?
Sgeo__ has quit [Read error: Connection reset by peer]
Sgeo__ has joined #racket
dan_f has joined #racket
jsomedon has joined #racket
jsomedon has quit [Quit: jsomedon]
jsomedon has joined #racket
lockywolf_ has joined #racket
urbanslug has joined #racket
lockywolf__ has quit [Read error: Connection reset by peer]
lockywolf__ has joined #racket
lockywolf_ has quit [Read error: Connection reset by peer]
lockywolf_ has joined #racket
jsomedon has quit [Quit: jsomedon]
lockywolf__ has quit [Ping timeout: 245 seconds]
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Ping timeout: 272 seconds]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
efm has joined #racket
emacsomancer has joined #racket
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
casaca has quit [Ping timeout: 248 seconds]
casaca has joined #racket
casaca has quit [Ping timeout: 268 seconds]
casaca has joined #racket
urbanslug has joined #racket
casaca has quit [Ping timeout: 246 seconds]
acarrico has quit [Ping timeout: 248 seconds]
casaca has joined #racket
urbanslug is now known as zipper
ubLIX has joined #racket
FreeFull has joined #racket
casaca has quit [Ping timeout: 272 seconds]
casaca has joined #racket
rubic has joined #racket
rubic88 has quit [Ping timeout: 246 seconds]
casaca has quit [Ping timeout: 248 seconds]
acarrico has joined #racket
manualcrank has joined #racket
casaca has joined #racket
lavaflow has joined #racket
casaca has quit [Ping timeout: 258 seconds]
zipper has quit [Read error: Connection reset by peer]
casaca has joined #racket
longshi has joined #racket
soegaard has joined #racket
casaca has quit [Ping timeout: 244 seconds]
casaca has joined #racket
sauvin has quit [Ping timeout: 272 seconds]
selimcan has joined #racket
sz0 has quit [Quit: Connection closed for inactivity]
efm has quit [Quit: Konversation terminated!]
longshi has quit [Quit: WeeChat 2.4]
zipper has joined #racket
ym555 has joined #racket
lavaflow has quit [Ping timeout: 257 seconds]
dan_f has quit [Quit: dan_f]
pera has quit [Ping timeout: 246 seconds]
lavaflow has joined #racket
zipper has quit [Ping timeout: 272 seconds]
jao has quit [Ping timeout: 248 seconds]
zipper has joined #racket
acarrico has quit [Ping timeout: 258 seconds]
zipper has quit [Ping timeout: 268 seconds]
pie__ has joined #racket
pie___ has quit [Remote host closed the connection]
pera has joined #racket
pfdietz has joined #racket
zipper has joined #racket
dan_f has joined #racket
efm has joined #racket
zipper has quit [Ping timeout: 244 seconds]
casaca has quit [Ping timeout: 248 seconds]
zipper has joined #racket
casaca has joined #racket
dan_f has quit [Quit: dan_f]
zipper has quit [Ping timeout: 248 seconds]
pera has quit [Quit: leaving]
selimcan has quit [Ping timeout: 258 seconds]
selimcan has joined #racket
efm has quit [Quit: Konversation terminated!]
sleepnap has joined #racket
selimcan has quit [Remote host closed the connection]
sleepnap has quit [Quit: Leaving.]
pera has joined #racket
sleepnap has joined #racket
ZombieChicken has joined #racket
sleepnap has quit [Ping timeout: 245 seconds]
serpentaddiction has joined #racket
rubic has quit [Ping timeout: 248 seconds]
dan_f has joined #racket
pera has quit [Ping timeout: 244 seconds]
sleepnap has joined #racket
ZombieChicken has quit [Quit: Have a nice day]
pera has joined #racket
ZombieChicken has joined #racket
sleepnap has quit [Ping timeout: 258 seconds]
Fernando-Basso has joined #racket
serpentaddiction has quit [Remote host closed the connection]
moldybits has joined #racket
iclon__ has joined #racket
caltelt has joined #racket
iclon_ has quit [Ping timeout: 248 seconds]
Guest62345 has joined #racket
mSSM has quit [Ping timeout: 248 seconds]
dan_f has quit [Quit: dan_f]
moldybits has quit [Ping timeout: 248 seconds]
soegaard has quit [Read error: Connection reset by peer]
soegaard has joined #racket
soegaard has quit [Read error: Connection reset by peer]
soegaard has joined #racket
moldybits has joined #racket
libertyprime has joined #racket
Nomenclatura has quit [Quit: q]
pera has quit [Ping timeout: 258 seconds]
ubLIX has quit [Ping timeout: 245 seconds]
pera has joined #racket
<tonyg> greghendershott: yes, but (1) if the reading thread crashes, the client thread will deadlock if it touches ch more than once and (2) the reading thread always reads ahead one message
<tonyg> neither of those are showstoppers :)
<greghendershott> tonyg: Point. I guess typically I've done those with tcp or udp ports, and the client thread and the ports and everything is in a custodian which can be blown away on e.g. a timeout
<greghendershott> But. It's not always that simple.
<tonyg> (another little thing: using nack-evt lets the code avoid committing to reading a message at all if the nack-evt fires before any bytes appear on the input socket)
<tonyg> greghendershott: yeah I need to practice more with custodians
<greghendershott> It's nice if there's some higher granularity like "request" or "message" or "transaction", that can be covered by one custodian.
<greghendershott> At least, I try desperately to find some such higher level of granularity. :)
<greghendershott> But sometimes con is difficult\ncurrency\n
cpup has quit [Ping timeout: 246 seconds]
sagax has quit [Remote host closed the connection]
acarrico has joined #racket
ym555 has quit [Ping timeout: 258 seconds]