IRC channel logs

2015-12-17.log

back to list of logs

***octo_ is now known as Octophore
<nalaginrut>morning guilers~
<artyom-poptsov>Hello nalaginrut
<nalaginrut>heya
<davexunit>key nalaginrut
<CustosLimen>has anybody had time to look at this yet: http://lists.gnu.org/archive/html/bug-guile/2015-12/msg00004.html ?
<CustosLimen>"bug#22152: fat_mutex owner corruption (fmoc) inside fat_mutex_unlock (guile-v2.0.11)"
<fps>hi, a possibly very stupid and ignorant question: is it possible to write a closure over a function to a file and retrieve it later?
<taylan>fps: procedures can't be serialized, sadly
<taylan>i.e. you can neither store them in a file, nor transfer them over the network or even between two guile processes on the same machine
<fps>taylan: aww, too bad..
<fps>taylan: ty for the info though
<fps>i guess that's where the "procedures are data" finally breaks :)
<fps>i had partial success with serializing/deserializing closures in lua btw ;)
<taylan>procedures aren't the only data type that can't be serialized, but maybe the most tricky
<fps>the reason i looked at this was the idea that the configuration/building step in a build system could nicely be thought of as configure->create closure, build->execute it
<fps>*steps
<fps>taylan: oh, there's more? i suppose so especially in guile with its C interaction
<taylan>you could generate code...
<taylan>fps: for instance hash tables don't have a serialized form either, at least by default
<taylan>though that can be added relatively easily (done in my Guile SRFI-126 implementation for instance)
<fps>taylan: yeah, generating code isn't as pretty though :)
<taylan>(well, except for hash tables with custom hash/equal functions, since that would once again require procedure serialization)
<fps>generating code is what the gnu autotools do
<fps>and it's not pretty :)
<fps>ok, that's maybe a particularly nasty example of code generation
<taylan>it should be much less ugly with lisp :) still not as nice as just serializing a procedure, but an improvement...
<fps>:)
<fps>btw: i looked at all these replicated configure calls when i built the guix world and wondered "so much wasted cpu cycles"
<fps>have a tool that compiles one C file in 0.1 secs? the configure run takes 10 secs
<fps>over and over :)
<wleslie>yep
<fps>sure, not all of it could be shared/memoized, but so much of it.. hmm
<fps>ok, next step after functional package management with guix is functional build systems
<fps>i mean, what's a more obvious candidate?
<fps>might even go hand in hand. factor out common stuff and use the guix daemon to memoize the "configure" output for the common stuff
<fps>oh well, food for thought. mindless soul crushing meetings ahead instead.. have fun..
<frofroggy>I want to fix grammar in the manual, but it's understandable as it is, so it's not a bug by the guidelines :(
<frofroggy>"Better is to use the procedure hashq-get-handle, which makes a distinction between the two cases."
<frofroggy>API Reference > Compound Data Types > Hash Tables > Hash Table Examples
<taylan>frofroggy: I'm sure a patch to that effect would be accepted
<taylan>frofroggy: what's the mistake in that sentence though?
<frofroggy>sweet
<frofroggy>taylan: the sentence is missing a subject. I would add 'it': "It is better to use the procedure hashq-get-handle ...."
<fps>frofroggy: maybe send a patch to the guideline, too, that makes grammar errors bugs, too :)
<fps>*grammatic
<taylan>oh, I would've thought that gets a pass for being a common usage. meh, not an English expert.
<wleslie> https://github.com/pypa/pip/pull/2858/files
<wleslie>my favourite PR: deleting one character for the sake of grammar
<rjmacready>just wanted to let the nice-people-that-i-talked-to-yesterday know that i got started with the guile integration yesterday
<rjmacready>i can call a guile declared function from c++
<fps>good job! :)
<dsmith-work>Thursday Greetings, Guilers
<davexunit>greetings
<wleslie>yo!
<davexunit>ACTION wraps some SDL2_ttf functions
<paroneayea>davexunit: http://dustycloud.org/blog/vcs-friendly-patchable-document-line-wrapping/
<davexunit>paroneayea: I'm warming up to the idea
<paroneayea>davexunit: I cited our conversation ;)
<paroneayea>davexunit: the important thing is you don't just put each sentence on its own line, you wrap each sentence!
<davexunit>yes, that makes it a lot better
***karswell` is now known as karswell
<amz3>héllo Guilers!
***dje is now known as xdje
<amz3>this might interest people looking at ways to have guile in the browser
<amz3> https://hacks.mozilla.org/2015/12/compiling-to-webassembly-its-happening/
<paroneayea>amz3: oh nice, thanks
<amz3>yw!
<CustosLimen>amz3, thats actually pretty neat
<CustosLimen>amz3, if you dont phrase it ITO guile ;)
<CustosLimen>lol
<CustosLimen>no but its neat
<amz3>basically it means translating the C runtime of Guile into webassembly (wasm) and then well we would have a basic guile which will be able to compile itself
<amz3>but it's not straightforward as compiling a héllo world ;)
<amz3>but the tools exists.
<amz3>pypy.js is (was?) supported by mozilla for over 2 years IIRC and it's still nowhere near production ready
<CustosLimen>so something I dont quite get - you can compile C to webassembly, but then you still need standard library
<amz3>that the way guile works, it compiles a small C core and then compile the rest
<amz3>one the primary upgrade of wasm over asm.js is that it improves startup time