IRC channel logs
2017-07-05.log
back to list of logs
<paroneayea>I was trying to set up a more or less guaranteed finalize step with dynamic-wind in a program I wrote using 8sync <paroneayea>and I couldn't figure out why it kept running the out guard over and over again <paroneayea>turns out it was happening every time the actor suspended / aborted to the prompt! I had no idea that would happen with delimited continuations. <nalaginrut>ArneBab: I always try to play Hurd occasionally, the apt-get upgrade give me very new version now, it looks better than last year, but some translator test still stuck, I think there's bug in filesystem <ArneBab>atw: currently I’m only experimenting with subhurds: I want to see whether I can build virtualization with minimal disk usage using subhurds and unionfs <ArneBab>nalaginrut: The Hurd is moving along pretty well, considering that all contributors have very limited time <nee``````>catonano: I didn't know about guile-squee. I have only used basic features of guile-pg, but can't complain about them (unlike for guile-dbi). guile-pg has some more stuff like type conversion that I didn't test out. One bad thing atm is that it doesn't compile with guile 2.2. <catonano>nee``````: yes, I read that. Do you know why ? <nee``````>catonano: I didn't look deep into it. I just know that my package broke when I tried to bump the number. <nalaginrut>ArneBab: I always would like to contribute, and I spent many times to try to get in, but I think there're lot of problem stop me. Before I get into the kernel hack, I think translator is easier to try. but it halt even for basic example <nalaginrut>ArneBab: 3 years, each time I encountered this situation, I can't help to think about write a new one to replace hurd <daviid>nee``````: you can try guile-sqlite3, which works fine with guile 2.2, that is if you do not strictly depend on postgres of course... <nee``````>daviid: I depend on postgres. switching to guile-squee, or editing guile-pg is more of an option. For now I've just been keeping this project on guile-2.0. <daviid>nee``````: ok, too bad guile-pg still does not work with 2.2, but if you do not need auto conversion of types, guile-squee is fine, though rather 'primitive' compared to guile-pg (it started and still is sort of experimental) <ArneBab>nalaginrut: if you run the Hurd via qemu, it already works pretty well. Translators aren’t completely easy (you need to follow ports protocols), but they are much easier than implementing file systems <ArneBab>nalaginrut: basically one of the problems I see is that there are too few people testing and maintaining things <nalaginrut>ArneBab: I run hurd on qemu, most of the things are good enough for me. Artanis was OK on hurd before, but now it requires epoll. I should contribute it, but I still don't find a good way to hack it <sneek>amz3, nalaginrut says: I found it's easier to use pipe for git operation rather than using guile-git, and the blog engine is almost done, compatible with tekuti. Fortunately, Artanis works smoothly. <ArneBab>nalaginrut: did you already ask on the Hurd mailing list whether there’s a way to add it which someone else already did? <random-nick>is there any software transactional memory library for guile? <roelj>Does anyone else have an issue with Geiser startup taking a couple of seconds when Emacs starts? <roelj>Starting Guile seems to take long, but only within Geiser.. In a terminal "guile" is really quick. <paroneayea>ACTION is looking at building 8sync on top of fibers <paroneayea>I'm reading the paper you suggested, "Kill-Safe Synchronous Abstractions" <paroneayea>since effectively, to build the actor model on top of CSP in a non-cooperative environment, it looks like you need a way to have threadsafe queues, and the paper does describe that <paroneayea>but I'm not sure it can be done with Fibers right now... I wonder what you think <paroneayea>I didn't see that fibers has its own dequeue module. <paroneayea>;;; Besides the general ways in which this implementation differs from the paper, this channel implementation avoids locks entirely. Still, we should disable interrupts while any operation is in a "claimed" state to avoid excess latency due to pre-emption. It would be great if we could verify our protocol though; the parallel channel operations are still gnarly. <paroneayea>it does seem like the hand-off stuff is more complicated than I anticipated in channels.scm <paroneayea>wingo: if there was a way to put a value into a channel without waiting to rondevouz, my whole problem here would be solved ;P <paroneayea>but I guess, maybe that would break fibers' design entirely. <paroneayea>wingo: it looks like the only way to do the kind of asynchronous buffered queue I need in fibers would either be to have those other primitives, implement the kind of complicated commit pattern in channels.scm, to use locks (not ideal!), or to restrict actors to a cooperative-only model... does that seem right to you? <paroneayea>specifically I think the reason why the "kill safe queue" from that paper won't be, er... "safe", is because thread-suspend and thread-resume don't really exist abstractly in an easily accessible way for fibers <paroneayea>it would be gnarly but maybe it could be done with a (erk) mutex and a check if the fiber was on the same scheduler or not