IRC channel logs

2016-11-14.log

back to list of logs

***karswell` is now known as karswell
<OrangeShark>Hello everyone, happy monday
<ArneBab_>happy monday ☺
<mvdw>Ya'll too excited for a monday.
<ArneBab_>:)
<dsmith-work>{appropriate time} Greetings, Guilers
<dsmith-work>wingo: is that 3f23688 ?
<dsmith-work>"Fix crasher in scm_system_async_mark_for_thread"
<wingo>yes
<wingo>good morning dsmith-work :)
<dsmith-work>Cool. starting a build
<dsmith-work>Wow. that went quick.
<dsmith-work>LGTM
<dsmith-work>wingo: That fixes it here.
<wingo>excellent
***holomorph is now known as Guest5349
***holomorp1 is now known as holomorph
<amz3>héllo #guile!!!!
<amz3>you will be pleased to know that I am happy today
<amz3>hopefully it will stay the same tomorrow :)
<daviid>:)
<OrangeShark>happy monday amz3!
<carborane-acid>:D
<daviid>hi guilers, happy monday all ...
<amz3>thx :D
<janneke>happy! amz3
<cardamo>hi, are there objects/OOP in guile?
<davexunit>cardamo: yes, it has a funny name: GOOPS
<cardamo>ok, I was actually hoping it had not, at least it's an import away
<davexunit>it's completely optional
<davexunit>I've written many, many programs that don't use any OOP feature
<davexunit>s
<cardamo>davexunit: can I see them?
<davexunit>cardamo: my most popular one is https://haunt.dthompson.us
<davexunit>I also work on GNU Guix which uses a functional programming style https://gnu.org/s/guix
<OrangeShark>hey davexunit, I sent a patch to you for haunt.
<davexunit>OrangeShark: I saw the email come in but haven't had time to apply the patch.
<davexunit>thank you! I'll get to it when I can.
<OrangeShark>davexunit: alright, no rush. Was just making sure you saw it.
<davexunit>thanks!
<wingo>ok, /me done refactoring threading things
<cardamo>another question, is there pattern matching for function parameters in guile?
<wingo>mutexes are some 40% faster in uncontented case
<wingo>and about 400% faster when contended
<wingo>s/uncontented/uncontended/
<cardamo>wingo: are you implementing mutexes in guile?
<wingo>cardamo: guile has mutexes. was just working on their impl.
<cardamo>I prefer the message passing, agent model of concurrency, that's probably not in guile
<wingo>ah now that's a pleasure. 4 threads locking and unlocking the same mutex 1e6 times on guile 2.0: 11s wall clock, 28s cumulative. guile 2.1 before refactoring: pretty much the same. after refactoring: 2.8s wall clock, 2s cumulative.
<wingo>cardamo: https://github.com/wingo/fibers/wiki/Manual :)
<daviid>wingo: fantastic!
<cardamo>wingo: wow cool, so you are using guile mutexes to implement fiber?
<wingo>cardamo: no, just refactoring some guile internals before the next release
<wingo>in fibers there are no mutexes
<wingo>tho it is thread-safe, using atomics
<wingo>next up, running async interrupts without leaving the vm, so users can build preemptive threading systems :)
<wingo>it's all rotating knives from here on out
<cardamo>wingo: is fibers beta? can it be used for production?
<wingo>see last section of manual. short answer: don't use for production yet :)
<cardamo>if I get some time I'll give it a try