IRC channel logs

2020-01-23.log

back to list of logs

***catonano_ is now known as catonano
<apteryx>Am I expecting too much from syntax-rules in breaking down ellipsised patters such as used here: https://paste.debian.net/1127218/ ?
<apteryx>*patterns
<apteryx>any suggestions to make that a valid macro? :-)
<mwette>change (delete-file ...) (substitute...) to (begin (delete-file ..) (sub...))
<apteryx>eh; thanks! I wasn't too far :-)
<manumanumanu>Macro hygiene problems can be beaten to death by simply throwing code and hours at the problem!
<manumanumanu>I ended up being so damn smart I almost peed myself.
<civodul>oops, sent bug to the wrong bug tracker: https://bugs.gnu.org/39251
<chrislck>ok stupid question -> how do I install guile-3.0 on ubuntu. sudo apt install guile-3.0 doesn't find it.
<civodul>chrislck: we'd need to ask rlb but i suppose it's not available yet
<str1ngs>chrislck: you could manually build it. the dependencies are not that bad
<chrislck>true but not too comfortable with installing into /usr/bin yet, and guix is still too weird. I think I'll have to wait.
<str1ngs>chrislck: if you have sources enabled you can do something like apt build-dep guile-2.2. then do the GNU three finger salute. ./configure && make && make install. that should default to /usr/local/bin/guile
<chrislck>and how to swap back to guile-2.2 at will?
<civodul>chrislck: what makes Guix look weird to you? (honest question!)
<chrislck>because i'm just a script kiddie... don't have gray beard on unix conventions. I only know enough bash to apt update, enough emacs to hack scheme, and just about enough cmake/ninja to build gnucash.
<lloda>chrislck: I install to a local directory in my account. The only thing you need to do afterwards is call the right binary and set pkg-config so other packages look for your local Guile.
<lloda>you can have several versions installed.
<lloda>there is no need to mess with system paths.
<str1ngs>chrislck: if you pass --program-suffix=3.0 it will use guile-3.0 for the program name.
<str1ngs>to ./configure
<chrislck>all i know is guix environment --ad-hoc guile-next can make it available to run, but then can't find readline
<chrislck>appreciate all the help, but have very little need/time to learn guix properly. this is not my day job :)
<lloda>I don't use guix myself
<lloda>I've been building Guile from git since forever
<str1ngs>chrislck: you might need to do a guix pull
<str1ngs>and use guile3.0-readline with guile
<chrislck>str1ngs: O_o thx. not obvious!
<str1ngs>I think guix --ad-hoc guile-next guile3.0-readline should do the trick
<str1ngs>though my guix is lagging so you'll have to confirm after pull.
<spk121>.
<civodul>chrislck: interesting that you got that impression :-)
<civodul>i'm pretty sure you can handle commands like "guix install" tho ;-)
<chrislck>well my understanding is guix == docker on steroids. but guix install will make the package globally available, so guix = snap/apt. but, guix can create dev environments, so guix = virtualenv. are you surprised we're confused?
<chrislck>and nix as well ...
<chrislck>(I know the answer is, 'all of the above' :)
<chrislck>anyway, guix --ad-hoc guile-next guile3.0-readline guile3.0-colorized did the trick for now
<jonsger>chrislck: is your work on guile 3.0 for gnucash already on a public branch
<chrislck>nopes haven't even managed to compile yet
<chrislck>this will be better done by gjanssens who knows about gnucash paths much better than I
<str1ngs>chrislck: just to clarify guix install makes the package available for the user not system wide. you could make a system wide profile. but that is generally something that is used by guix system
<str1ngs> guix install is not like apt install at all. it's mainly called that ease of use. you can think of it as guix add this to my profile.
<str1ngs>chrislck: ^
<chrislck>hehe, another confusionism
<lloda>next time someone invents a cli interface like git, guix, etc. they should call the commands 1, 2, 3... or A, B, C...
<lloda>that way no one will be confused :-p
<manumanumanu>My for loops are done for now! Check'em out here: https://hg.sr.ht/~bjoli/guile-for-loops The new hot stuff is right folds letting you express lazy or non-tail-recursive loops
<mwette>di
<chrislck>I think a major difficulty for guix is the vocabulary. a 2D grid with col-labels=channel/store/environment/package/substitutes and row-labels=guix environment/add/pull/etc would be useful to know what's doing what.
<chrislck>is a summary to guix in the style of https://nvie.com/posts/a-successful-git-branching-model/ possible at all?
<spk121>ooh, for loops. neat
<civodul>chrislck: maybe, yes!
<civodul>to get started there's a 1-to-1 mapping from apt-get/yum
<civodul>but yeah, perhaps that should be clarified
<chrislck>civodul: sure, but also keen to know what's happening behind the scenes. what store/channel/package is being modified via guix
<chrislck>what's considered available(remote), available(local), installed(local) etc
<dsmith-work>Morning Greetings, Guilers
<manumanumanu>dsmith-work: good afternoon!
<dsmith-work>sneek: ugt?
<sneek>Last time I checked UGT is http://www.total-knowledge.com/~ilya/mips/ugt.html
<manumanumanu>dsmith: consider my ass laminated!
<rlb>chrislck, civodul: given the repl-server fix, if I don't hit anything else, I suspect I'll be able to finish/upload the initial guile-3.0 packages in the next few days, likely by the end of the weekend.
<rlb>chrislck: you can always "./configure --prefix="$HOME"/opt/guile-3.0" and then when you "make install" it'll be put there. Then iirc you should be able to run guile from there with something like PATH="$HOME/opt/guile-3.0/bin:$PATH" LD_LIBRARY_PATH="$HOME/guile-3.0/lib" guile ...
<civodul>rlb: awesome!
***ng0_ is now known as ng0
<akhetopnu>hello. I'm trying to make guix show me where is guile-json installed, I checked with --help flat that I can use `guile package --list-installed[=REGEXP]` so I tried `guile package --list-installed=json` but it doesn't work. I tried `guile package --list-installed=/json/` but it also doesn't work
<akhetopnu>I get an error: `guix package: error: --list-installed=json: unrecognized option`. Any ideas?
<akhetopnu>putting the `json` part in quotes doesn't help...
<manumanumanu>Ahoy hoy! I have gotten to going through my repl prelude, and I wonder: are there any nice libraries that add ergonomics to the repl? What I am using now is (ice-9 match), my for loops, threading macros and megacut (a clojuresque lambda shorthand). Are there any other things that you use?
<manumanumanu>I have a bunch of small comfort procedures as well, like (port->list proc) and get-line from r6rs.
<manumanumanu>also: can i get all exported bindings from a module using he module reflection?
<manumanumanu>ah! module-map and (resolve-interface)
<zig>module-interface IIRC
<zig>oops
<zig>manumanumanu: I do not have REPL helpers, my .guile is empty at the moment, but I use (help foobar) and readline.
<zig>nowadays, I rely on rlwrap because lazy.
<zig>I recently discovered (apropos "list")
<zig>which works withotu guile-fu
***ng0_ is now known as ng0
<numerobis>Hi #guile! I'm trying to read a line from a pipe, but the example in the example open-input-pipe returns the error "In procedure module-lookup: Unbound variable: read-line". Is there a function to read a line from a pipe?
<erkin>Are you importing rdelim?
***sneek_ is now known as sneek