IRC channel logs

2020-08-26.log

back to list of logs

<rlb>...hmm, lately, I've wanted a "clobber the cache for these paths" command. We don't already have anything like that do we? e.g. "guile --clear-auto-compiled --recursive ." or something.
<rlb>I want to be able to run that when hacking on guile itself, and/or some other project, in conjunction with a clean, to avoid having to say unpleasant things when "macros"...
<rlb>Right now I just "rm -rf ~/.cache/guile/ccache/.../the/relevant/path", but that's less than ideal.
<ArneBab_>leoprikler: here’s the result of our shared hacking today: https://hg.sr.ht/~arnebab/likeplaying/browse/likeplaying/likeplaying.w?rev=tip — It’s a tiny script, but it solves a problem for me: curating videos while I do something else.
<str1ngs>rlb: that sounds useful. I selectively remove ~/.cache/guile myself. or selectively use --no-auto-compile
<ArneBab_>leoprikler: whenever a good video is playing I just run likeplaying from anywhere and it grabs the filename from the mpv window :-)
<rlb>str1ngs: right, and no-auto-compile doesn't work very well when I'm running a "make -j 7 check" with many more than 7 independent tests :)
<rlb>it's very expensive, though I'm pretty sure it did work, which surprised me a little, i.e. good sign that we're doing the right thing with respect to concurrent auto-compiles from multiple processes.
<rlb>fsvo "right thing", since the semantics there could be interesting without some care...
<rlb>even if you make everything atomic.
*rlb would have to think about it -- maybe it's fine.
***slyfox_ is now known as slyfox
<daviid>str1ngs, leoprikler, dsmith-work wrt 3.0 changes about how one must address re-export(s) and re-export(s) of replaced bindings, here is some very usefull input - https://lists.gnu.org/archive/html/guile-devel/2020-01/msg00004.html
<daviid>I still haven't looked into this, not even superficially, I will of course, asap, but I thought you might be iterested to read (or re-read) this
***jonsger1 is now known as jonsger
<ArneBab_>I just restructured the guile template in conf: conf new -l guile PROJ now creates PROJ/PROJ.scm along with the module (PROJ PROJ). In short: conf new -l guile foo ; cd foo ; make install ; foo
<ArneBab_> https://hg.sr.ht/~arnebab/conf
***catonano_ is now known as catonano
<daviid>it points to the NEWS entry from andy, and proposed a manual solution to the 'problem' - which is what str1ngs rightfully did in his proposed patch - however, in g-golf (and guile-cv ...) I need an automated solution to this, and, hopefully, backward compatible ... also,
<daviid>the re-export of the public interface of a module, which for some name(s) replaces guile core binding(s), is one of the two problem g-golf needs to solbvve (automatically, by running a program, not by manually writing in a file)
<daviid>the other is (highly related) to do so when a guile proc is promoted as a generic, which is the 'setenv' example in the previously dscussed and pasted code here ... the code that successfully does that using guile 2.2.7, and needs to be dapted (probably to use module-re-export-and-replace! os so-so is here http://git.savannah.gnu.org/cgit/g-golf.git/tree/g-golf/hl-api/function.scm?h=devel, line 288
<daviid>leoprikler: the results/solution must be so there are no warnings, since the replacement is deliberate ... fwiw
<daviid>what ever it takes, it must work jut like it does for 2.2.7 - in tha paste used by dsmith-work to post to the ml
<johnjay>hey. i'm trying to compile something based with guile but i can't get past the configure script
<johnjay>i got rid of guile 3.0 as the guy said but the script says it can't find guile lib
<johnjay>i have guile 2.2 and 2.2-dev and libs. but it says configure: error: guile-lib is missing; please install it.
<johnjay>ah ok. in u buntu you need "guile-library" package. that solve it
<catonano>johnjay: may I ask you what are you trying to compile ?
<johnjay>something related to nomad
<johnjay>but if you have something more common i can try to compile let me know
<johnjay>also what's teh deal with guile3 and guile2 existing at same time? is there big incompatibility?
<johnjay>i guess ubuntu 20 didn't install that library by default
<leoprikler>guile3 and guile2 are entirely separate, they shouldn't even look into the same module paths
<leoprikler>daviid: Making it work "just like Guile 2.2.7" is merely a matter of whether or not you add (hashq-set! (module-replacements iface) key #t) after (module-add! iface key value)
<leoprikler>btw. is it wanted that all method-gf are pushed back into hl-api gobject?
<ArneBab_>mwette: here’s another small change to guile-libyaml: https://github.com/mwette/guile-libyaml/pull/2/files — ./demo1.scm works now.
<ArneBab_>and there’s an example for a reference
<nerdypepper>hiya, does anyone edit guile scheme in vim here?
<nerdypepper>i am looking to have some sorta integration with guile-lint
<nerdypepper>also, guile-lint seems to dislike using square brackets [] in let and cond expressions, any way to allow that?
<str1ngs>leoprikler: ah I got it sorted out in #emacs re emacsy was the package.
<str1ngs>leoprikler: to johnjay
<str1ngs>question that is.
<leoprikler>I have no idea what question that was, you'd have to help my memory out here a bit :)
<str1ngs>it was some time ago. reguards to guile 3 and unbuntu
<str1ngs>the project he was building was emacsy. which should support guile 3 soon. I have a local working copy anyways.
<leoprikler>ahh, right
<leoprikler>once emacsy is ported to guile 3 nomad should be no problem, right?
<str1ngs>actually I did'nt know ubuntu had guile 3 in the repo. I've been building in manually
<str1ngs>the only blocker is g-golf guile 3 issue which is no rush. once that is done g-golf looks pretty good for guile 3 as well.
<leoprikler>I don't know anything about newer ubuntu period. IIRC "stable" is still stuck on 18.04
<str1ngs>do you use debian?
<leoprikler>The only Debian system i still have is a LM installation I plan to nuke after getting a grade on my masters thesis.
<str1ngs>haha, I'll take that as a no.
<str1ngs>it was ubuntu 20.04 aka focal
<str1ngs>which has much better guile package support than 18.04 ie guile-ssh guile-git etc
<leoprikler>Well, that certainly makes it easier to bootstrap Guix
<str1ngs>yes, I forget who did the work. but it tricked down to ubuntu nicely. thank unsong hero!
<str1ngs>johnjay: I did find the reason for the failure out of tree builds and emacsy. it's related to the not enabling all of the examples. A regression introduced by adding that --without-examples flag. thanks for finding that, I should have that fixed soon.
<dsmith-work>Wednesday Greetings, Guilers
***nikita` is now known as ronja`
***ronja` is now known as nikita`
<dsmith-work>leoprikler: No error checking, but how does this look? https://paste.debian.net/1161329/
<dsmith-work>Seems to work for me. Wonder what happens in 2.2
<dsmith-work>sneek: later tell daviid What do you think of https://paste.debian.net/1161329/ ?
<sneek>Got it.
<apteryx>is there anything to manipulate plists in Guile?
<apteryx>plist being of the for '(key1 value1 key2 value2 ...)
<apteryx>form*
<leoprikler>keys being keywords or arbitrary symbols?
<apteryx>symbols like #:some-key
<leoprikler>fixed or arbitrary?
<leoprikler>for fixed combine let-keywords with quasiquote, for arbitrary no
<apteryx>fixed
<leoprikler>(let-keywords plist #f ((key1 default) (key2 default) ...) `(#:key1 ,new-key1 #:key2 ,new-key2 ...) )
<apteryx>pretty cool, thanks!
<apteryx>are the ellipses part of the supported syntax?
<apteryx>I guess not. The keys I want to manipulate are from an expected set, but the number of keys can vary, so I think let-keywords won't help for that.
<leoprikler>the ellipses are just for show
<leoprikler>you can set the other keys to a well-known default e.g. #f or *unspecified*
<apteryx>ah right, if I specify the full set it can work, but that's on the verbose side and difficult to maintain
<leoprikler>pretty sure you could write a macro for that, but I see your point
<apteryx>nothing standard to get all keys of an alist, right? I need to make my own match-lambda
<pkill9>actually that's what I want to do
<pkill9>get all keys of an alist
<apteryx> https://paste.debian.net/1161351/
<apteryx>oops, this should be alist->keys
<brettgilio>wingo: hey, I can't parse your ATOM feed. I think the formatting on it might be broken?
<apteryx>well, it is, nevermind ;-)
<brettgilio>I can parse other atom feeds just fine tho
<leoprikler>apteryx: map car alist?
<apteryx>that'd also work
<apteryx>or (map first alist) from srfi-1
<str1ngs>dsmith-work: that change looks promising. does that help with guile 3 map issue? and work for guile 2 as well?
<brettgilio>wingo: ignore my comment. I got it
<brettgilio>I figured it out
<dsmith-work>str1ngs: Pretty sure that won't work with guile 2. I don't have a 2 install handy. Should be possible to work with both by conditionally calling the hash-set! (I think)
<leoprikler>does guile-2 not have this replacements list?
<leoprikler>but yeah, cond-expand rules
<dsmith-work>leoprikler: Yeah, the way replacements are recorded changed.
<leoprikler>nice to know
<str1ngs>dsmith-work: gotcha, thanks for looking at this BTW.
<dsmith-work>from the NEWS file regarding #:re-export-and-replace: "Note to make this change, we had to change the way replacement flags are
<dsmith-work>stored"
<str1ngs>is it possible to get major version number someway? or do I need to use (version)
<apteryx>leoprikler: this is what I was after: https://paste.debian.net/1161353/
<apteryx>It's a bit more complicated than I'd like, but it does exactly what I want.
<apteryx>got to go!
<dsmith-work>str1ngs: Never tried. But (apropos "version") returns quite a few results..
<dsmith-work>({major,minor,micro,effective}-version)
<str1ngs>ahh (major-version) what I need thanks. I just need it for ~/.guile.
***evhan` is now known as evhan