IRC channel logs

2020-01-06.log

back to list of logs

<daviid>lxsameer: on that page, click more news and search for "GNU Guile 2.0.0 released!", second paragraph, then look for " GNU Guile 2.9.1 (beta) released", second paragraph as well - in the middle of these two, you'll also find a release about 'reproducible go files' ...
<lxsameer>daviid: seriously dude, you went through all these in order to avoid answering a simple question ???
<pkill9>award for pettiest message of the day goes to daviid
<pkill9>only 50 minutes left (in the UK), will anyone top it?
<mwette>before execution it compiles to bytecodes, then executes the bytecode on a virtual machine; if the bytecode runs multiple times guile then comiles to native code on the fly (staring w/ V 3.0)
<lxsameer>mwette: so it's not a AOT compiler
<lxsameer>am I right ?
<mwette>lxsameer: to bytecode yes, to native code no -- to my knowledge
<seepel>Hello Guilers, I've just started working on a GTK application that I would like to develop in Guile as much as possible. I noticed that guile-gnome is still using GTK2. Does anyone have a recommendation on if I should try using guile-gnome on gtk2, or should I wrap gtk3 myself?
<seepel>Or if there isn't a clear winner, what concerns might I want to weigh in making my choice? I will eventually want to also integrate WebKitGTK if that matters.
<mwette>seepel: check guile-gi
<seepel>Oh cool!
<mwette> https://github.com/spk121/guile-gi/blob/master/examples/browser.scm
<seepel>mwette: Thanks, this looks promising!
<spk121>seepel: I need to make a new release 0.2.2 soon because of a bug in 0.2.1 that is fixed in the repo. But guile-gi is basically functioning now.
<seepel>Just read through the documentation, seems like a really nice project! I'm still a bit of a noob in dealing with gnu build tools (linking and all that), so I'm trying to sort through that at the moment :D. Running in Guix System, and Guile can't find guile-gi
<jackhill>seepel: You may also be interested in g-golf and Nomad <https://nongnu.org/nomad/manual/html_node/index.html> as an example.
<jackhill>having not used either guile-gi or g-golf, I can never keep them straight it my head, but I think they are two different approches to using gobject introspection for bindings.
<jackhill>but since spk121 is here, trying guile-gi might be a winner :)
<seepel>I have been following along between autotools hello world, nomad, and the gtk tutorials so far. Managed to get a hello world gtk app running with C, so that was exciting. I probably need to stumble around enough that I start to get an intuition as to how all the pieces fit together. I haven't really messed around with linux at all since 2005 or so :)
<str1ngs>regard nomad and g-golf. g-golf integration working is being done on the feature-g-golf branch is close to completion yet
<str1ngs>s/working/work
<spk121>seepel: weird that you're seeing that problem with guix. There is a guile-gi package in guix, so it should "just work"
<spk121>seepel: autotools is a nightmare, but, there have been many Guile programs that have made it work.
<seepel>I installed that, I do indeed see the library hiding in /gnu/store
<seepel>spk121: Seems like most of the guile projects I've seen do use autotools, so I figured it is worth learning, even if it is not the prefered build system. My experience has mostly been that most build tools are a nightmare until you understand how they work :D
<daviid>seepel: fwiw, here is a hello world example using g-golf - http://paste.debian.net/1124813/
<seepel>spk121: I can't seem to get either of the examples in the top level README to run. Seems like with the first the guile-gi command is simply not available, and in the second after I run make there is no tools/guile-gi. Do you expect them to run? I tried on both master and v0.2.1
<spk121>seepel: If you actually built master, you could go to the directory where you unpacked it and then to "./tools/uninstalled-env guile examples/browser.scm"
<spk121>or rather "./tools/uninstalled-env guile examples/browser.scm"
<seepel>spk121: Ahh, yes I tried that as well and get many errors: http://paste.debian.net/hidden/a41b0b45/ This could all be down to me not knowing how to guix though, probably not worth you spending any time digging in, but if there is something off the top of your head I'd be all ears.
<spk121>honestly no idea. it looks pretty catastrophic. but if you have a chance to "make check" from the build directory and send me the "test-suite.log" file it generates, I can try to figure it out.
<seepel>hmmm, seemed to get stuck after `test/gtk.scm - init`
<spk121>seepel: weird. and you are running this from a gui with Gtk installed, and not from the console?
<str1ngs>seepel: I'm assuming you are using guix?
<str1ngs>using guix environment -l ./guix.scm --ad-hoc gtk+ webkitgtk and ./tools/uninstalled-env guile examples/browser.scm I get this this error as well. in fact it's similar to an issue I've been tracking down with in regards to g-golf. I have a fix that fixs this issue as well but it's not ideal
<str1ngs>spk121: ^
<str1ngs>here the patch I used to get around this for now. http://paste.debian.net/1124820 it requires not building gobject-instrospection package with the gobject-introspection-absolute-shlib-path patch. but then you need to use LD_LIBRARY_PATH. so something related to how typelibs are generated or library paths is causing this problem.
<str1ngs>spk121: ^ if you can an reproduce the cannot register existing type 'GtkWidget' error with guile-gi let me know please.
<spk121>str1ngs: ok. I don't have that problem on my dev box or my Travis-CI instance which is Ubuntu. I should add some sort of vanilla Guix instance to my continuous integration
<str1ngs>the problem does not happen on debian or ubuntu bases systems only guix
<str1ngs>based*
<str1ngs>make check passes as well. I suspect its related to the tyeplib or gir paths. or there generation
<str1ngs>removing the shlib patch fixs the issue
<str1ngs>oddly though I cant get gjs or pygobject to produce this error either
<str1ngs>spk121: it's not a guile-gi or g-golf issue . some guix related. but I've yet to find the specific issue. just narrowed it down to remove that patch resolves the issue.
<spk121>str1ngs: ok, good to know. When I get a chance, I'll try it again with a clean Guix VM
<str1ngs>if I figure out more I'll let you
<str1ngs>.. know*
<lloda>anyone else has an opinion on string-replace-substring vs string-replace-all ? I do like the second better and if it's already in Guix it's a point in favor I guess
<lloda>oh it's string-replace-substring in Guix
<lloda>w/e if anyone has arguments either way let me know
<rlb>I don't know why, but I'd imagined that reader options would be reset at the end of a module load, so that it'd be safe say change the keyword style before a define module. But reader options are just always global, right? So even if you wanted to use a different keyword style in a module, you have to stick with the default syntax for the define-module form?
<rlb>...*and* you risk breaking other modules if you don't restore the defaults carefully? Or do I still misunderstand?
<wingo>moin
<lloda>hi wingo
<lloda>is it an ok thing to do (let () (import (a b) c)) ?
<lloda>sorry, (let () (import (a b)) c)
<lloda>I do get a compilation warning for c
<lloda>and c is available after, so the names are imported into the current module I guess?
<lloda>is there a way to import names for a scope only
<wingo>that would be nice! but i don't think guile supports that currently
<lloda>np, just wondering
<lloda>ok to push? http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=6cfee365434ca8a18053600575c79dde6775bc2d
<lloda>I did keep the old name instead of daviid's suggestion
<wingo>lgtm
<wingo>thanks :-)
<lloda>done
<lloda>sneek: later tell daviid I did like string-replace-all better, but there is already a function string-replace that replaces all chars, so string-replace-substring seems to be a clearer name
<sneek>Got it.
<civodul>Hello Guilers!
<wingo>morning :)
<pkill9>morning
<civodul>wingo: so it seems that the last blocker for Guix on Guile 3 is <https://issues.guix.gnu.org/issue/38895>
<civodul>well i guess it's a semi-blocker because it could be addressed on the Guix side too
<wingo>hmm
<wingo>can be fixed, of course
<wingo>i guess i didn't realize that cb14fd2143 would be a breaking change, that people do #:autoload and expect to get the whole module
<wingo>why does guix do this?
<wingo>i think it's something worth deprecating fwiw, and in that case guix would probably want to change
<wingo>so i am unsure whether to fix it. of course it would need to be in NEWS, as i didn't realize that i had made that change :/
<wingo>what's your preferred option civodul ?
<civodul>wingo: i can try fixing it and see how tricky that is (it shouldn't be that hard, but who knows...)
<civodul>but yeah, i've been used to that behavior since... forever!
<civodul>it is kinda ugly, though, for sure
<wingo>do you agree that we should move towards the behavior in guile master?
<wingo>(question in that case would be whether to move quickly or slowly)
<civodul>yes, probably
<civodul>now, the less friction, the better
<wingo>of course
<civodul>so perhaps we could deprecate it and change it later?
<civodul>though it may be hard to emit deprecation warnings here
<civodul>it'd take a bit of machinery to simply detect the "legacy" base
*civodul looks at the 93 #:autoload in Guix
<wingo>maybe adding a module binder to autoload interfaces for any other exported identifier
<civodul>yeah
***jao is now known as Guest61074
<lloda>how do I get guile-json to interpret a lists of lists as a list of lists and not as an alist?
<lloda>ok use vectors I guess
<civodul>lloda: yes, in Guile-JSON 3 you have to use vectors for lists
<lloda>yeah I had to update, had an older version. Thx civodul
***ng0_ is now known as ng0
<daviid>hello guilers
<sneek>Welcome back daviid, you have 1 message.
<sneek>daviid, lloda says: I did like string-replace-all better, but there is already a function string-replace that replaces all chars, so string-replace-substring seems to be a clearer name
<daviid>lloda: ok, understood, thanks for the feedback
<rlb>So is there any typical way to use say (read-set! keywords 'postfix) in a module without risk of breaking other modules? This came up when a module did that, and then a later (use-modules (web client)) broke because it has a "#:prefix foo:". (I'm actually now surprised nothing else broke.)
<lispmacs[work]>Hi, i was wondering if somebody would suggest a particular study-guide/workbook for advancing your scheme skills, ideally that could be downloaded for free off the Internet. In the past I went through the land of lisp book, which was entertaining, but focused for the most part on introductory instruction
<count3rmeasure>The Scheme Programming Language by Kent Dybvig is a web book, i.e. html, you can also buy a dead tree version
<count3rmeasure>lispmacs: if you live near a university of a decent enough size or with an engineering focus they are almost certain to have some edition of it, its what I use when I want to refresh
<wingo>moo