***fangism is now known as fangism-crtl-Z
<paroneayea>davexunit's sly project has me looking into the state of guile again <paroneayea>I got lost reading wingolog.org for an hour or so :) <nalaginrut>paroneayea: reading winglog.org is a good thing in daily life <ArneBab>nalaginrut: and for anyone who wants to get a deeper understanding of interesting stuff. ***mario-go` is now known as mario-goulart
<TheBrayn>how do I use the function scm_c_make_gsubr? I could not find an example <TheBrayn>and is it the right function to register a C function with guile to be called from guile? <ft>I think you want scm_c_define_gsubr. <ft>And maybe scm_c_export afterwards. ***Guest8063 is now known as micro
<TheBrayn>what does a function like display return that does not return anything really? <paroneayea>out of curiosity, is anyone doing any code generation from guile to another language? <paroneayea>eg, there's the ecmascript->guile thing, but I'm curious about the reverse <paroneayea>code generate javascript from a (subset?) of scheme <ijp>I have plans for it, but it's not a big priority <paroneayea>ijp: I'd love to some day not have to write javascript directly, basically :) <ijp>modules is probably going to be the most annoying part <janneke>write guile, choose to deploy server side in guile, or client side in (guile->) javascript <davexunit>I'm writing a quick proof-of-concept web interface for guix, and I certainly would love to write guile for everything, not just backend. <ijp>has anyone written an emacs interface for guix yet? <davexunit>I've got the "single-page application" route. the guile web server has some JSON endpoints and I render the page with mithriljs. <janneke>meanwhile, while trying to get my team to move from C++ to Guile, i am hoping that someone would look at my GUD patches <davexunit>it will eventually be part of the guix source distro <janneke>i'd love to get involved in guix, it looks like LilyPond's GUB done right <davexunit>janneke: join us! it's not too hard to get a development environment running. <davexunit>easiest way to get started: find a piece of software or a library that hasn't been packaged yet, and package it. <paroneayea>davexunit: are you running guix in a VM for now? <janneke>davexunit: no no no, what i need is to get a cross build setup <davexunit>paroneayea: I use it on top of debian, for development. <janneke>LilyPond's GUB source build system essentially is a cross build for windows, macos (and gnu/linux-* and other (non-)unixes) <davexunit>paroneayea: yeah, it won't take over your system or anything. you don't even have to install it to /usr or anything. <paroneayea>are there docs on how to do that that you'd be interested in pointing me to? Is that how you're doing sly and handling the dependencies without installing to root? <davexunit>paroneayea: I plan to do that for sly. I have guile-opengl packaged, but guile-sql is giving me trouble. <paroneayea>guile-sql? you're building in database support? ;) <davexunit>working with an application that uses mysql atm, my hands get confused. <davexunit>should get you most, if not all, of the way there. <paroneayea>davexunit: I tried to install guile-sdl I think last night with checkinstall <paroneayea>and something got angry and the package failed :) *paroneayea hates doing "sudo make install" <davexunit>guile-sdl just isn't very good, unfortunately. <davexunit>I want to make a first release of sly before I go down the rabbit hole of writing SDL 2 bindings. <davexunit>but things will get easier when I remove that dependency. for instance, sly should work on OS X then. <paroneayea>davexunit: are you thinking of using the dynamic ffi bindings? <davexunit>many advantages. I don't have to write any C and I don't have to distribute a shared library. <paroneayea>I don't know much about that section, I noticed it last night in guile's docs... I assume it's a lot like how pyglet links to C libaries without requiring writing compiled C bindings <davexunit>yeah, I can send you an example for another library that I'm writing bindings for. <davexunit>our gnome support isn't in great shape right now, but someone is working on improving it. ***fangism-crtl-Z is now known as fangism
<janneke>make on latest guix downloads guile-2.0.9, that can't be right? <paroneayea>not sure if you know me by username btw, this is @cwebber@identi.ca from the ostatus days :) <ArneBab>paroneayea: I saw Hy, yes - but I don’t think giving up the technical advantages of Scheme and the readability of Python at the same time is what I want ☺ <ArneBab>paroneayea: it would be useful if I used Python for its Libraries, though <zacts>when does mark_weaver usually hang out here? <cky>zacts: Just ask. He reads logs. <taylanub>zacts: sneek has a 'later tell' service, and Freenode itself has MemoServ. <cky>I'm not sure if mark_weaver wants to receive MemoServ messages. I certainly don't usually welcome them. <zacts>cky: I'm still formulating my question. It's about how to define a certain procedure for guile, based on my (scheme) and the art of programming book. <zacts>he told me before, and I lost all of my data by formatting /dev/sda instead of /dev/sdb <cky>zacts: Well, you can ask anyway, when you have a question formulated. <ijp>cky: you haven't been hanging around here much recently. how's life? <mark_weaver>sneek: later tell jenneke: guix has guile-2.0.11, but still includes guile-2.0.9 in it's set of bootstrap binaries. those are updated only rarely. <zacts>I'll have to find it. I'm trying do define a procedure from (scheme) and the art of programming that is non-standard. <mark_weaver>I'm typing this from a standalone install of GNU Guix running on a gluglug X60 laptop running libreboot. pretty nice! <mark_weaver>well, still rough around the edges of course, but it's coming along nicely. <mark_weaver>bleeding edge versions of everything without the usual risks. <ijp>mark_weaver: you may be interested to learn I finally had a use for ck the other day <ijp>yeah, jcowan wanted a simple compile time parameterisation *mark_weaver reads the code <taylanub>cky: I didn't know people dislike receiving MemoServ messages <ijp>taylanub: well, I don't usually identify unless I want to ghost a dead process, so I don't generally see theme <zacts>how can I define those procedures using guile? <mark_weaver>ijp: one problem with that approach is that it will presumably substitute things that it shouldn't, such as 'set!!', 'ref', and 'make' within literal data, as well as inner lexical bindings of the same name, etc. *zacts is eating fair trade chocolate <zacts>"The procedure of no arguments reset returns the user to the prompt" <ijp>mark_weaver: true enough, but I inferred this would not be a problem from his intended use <zacts>"writeln / error, can also be defined using the unrestricted lambda." <mark_weaver>zacts: yeah, I remember writing that for you before. hmm <ijp>mark_weaver: can you tell me if there is any simpler way to write ^^ <zacts>I wish there was a free software cloud I could back up my files to <zacts>I guess for this I could use gitorious <ijp>I think the answer is no, since you need to avoid the handler in the body forms, but it's such a horrible way to write it <zacts>btw, there is now an online version of my book from my university.. <zacts>and, afaik, friedman gave permission for an online version. <mark_weaver>ijp: you declare 'in' and 'unless' as literals, but I see no mention of them in the patterns or elsewhere. <ijp>mark_weaver: yeah, I forgot to remove them <mark_weaver>ijp: I can't off-hand think of a better way to do it. <ArneBab>mark_weaver: is there a plan for the next minor release? <mark_weaver>another option would be to wrap the whole thing in let/ec and then invoke the escape continuation from the handlers to avoid the bodies, but that carries the cost of doing the let/ec. <ijp>mark_weaver: yeah, I think the let/ec solution might be more transparent <zacts>mark_weaver: so whenever you get a chance let me know. btw, the paste will only last for a week. <zacts>the book should be up forever