<paroneayea>do you do any smart geiser/guix integration when hacking? <davexunit>for building packages, no, but sometimes I do open my geiser REPL to experiment with new procedures. <davexunit>I just make sure my guile load path has the guix stuff <davexunit>I need to learn how to use the monads better for building packages from the REPL and other cool things <paroneayea>I have the impression "invisibly passing state in a functional world by bridging between functions", but what does that mean? and does it use lexical scope hacks to achieve it? or what? <ijp>paroneayea: rather than values, you have functions from state -> state+value, and a means for composing them *paroneayea tries to parse that and fails *paroneayea reads ijp's post with interest! <ijp>I am unreasonably proud of remove*** from that file *paroneayea looks at the filename <ijp>paroneayea: no, I was "giving it" <ijp>there were supposed to be 7 in total, but he was too busy ***sumoudou is now known as ShiroiKuma
<paroneayea>ijp: for exercise 1-2, it took me a long time to figure out what "shares as much of a tail as possible with the original procedure", but once I did and worked through your example, I was like, ahaaa! <paroneayea>(I wasn't sure if you meant tail call, and it wasn't clear that procedure meant list, I guess) <ijp>paroneayea: oh right, yeah, that's a mistake <ijp>that remove silliness isn't really relevant to understanding monads, but I find it amusing <mark_weaver>we are in a bit of a severity-setting war. they keep downgrading it to 'wishlist'. <ijp>mark_weaver: it's disappointing that they won't fix such an easy issue, but the maintainer has responded, and I doubt you are going to get it fixed earlier by citing debian policy (unless you go over their head) <ijp>paroneayea: I meant to do another one last year, but I only helped someone with their "12 days of xmas" <mark_weaver>ijp: yeah, that was my last message on the subject, and I expect more of the same. <mark_weaver>I always assumed that Debian would take care to keep their copyright files accurate, but now I know better. <mark_weaver>I still think it's worth checking their copyright files, but we can't put as much trust in them as I'd hoped. <mark_weaver>ijp: I looked at the diff between your original and the current version. I can testify to the fact that I've never seen RMS even the slightest bit intoxicated. <mark_weaver>(and I saw him as often as one would see a house-mate over several years) <ijp>I did that in a couple of hours on xmas eve, I wasn't dilligently factchecking <ijp>I like that I did it, but I'm only really proud of the first verse <ijp>if I'd thought it through, there could have been some real plot progression ***Pastaf_ is now known as Pastaf
<rekado>mark_weaver: there were a few more empty drv files. Deleting them with "guix gc -d ..." fixed the issue. <rekado>There was an unexpected shutdown when the battery ran out. AFAIR the laptop was idle, though, so it's a little odd that this would cause any such problems. <rekado>This was only on the machine running the Guix System Distribution, not with Guix on top of another system. <rekado>So there I'm running the latest kernel offered through Guix. <taylanub>should I name the Clozure CL package "ccl", or "clozure-cl", or "clozure"? Arch uses "ccl". <taylanub>the website is ccl.clozure.com and tarballs are named ccl. I think ccl kind of wins out; only question would be whether it might get confused with something else <taylanub>hm, apt-cache search ccl doesn't reveal anything likely to get confused, and Debian's package archive is huge, so I'll go with ccl. <roelj>I'm running the Guix daemon with: "guix-daemon --cores=5 --max-jobs=4 --build-users-group=guix-builder" as root. Then as a normal user "guix package --install emacs". This gives me an error: "guix package: error: build failed: substituter `substitute-binary' died unexpectedly" <roelj>I also tried running guix-daemon with "--no-substitutes". Then a lot of packages compile, but after about two hours some dependency failed to build. <roelj>What am I doing wrong? I'd like to install Emacs using Guix.. <davexunit>roelj: do you see any error output from the daemon? <roelj>No, I see: "accepted connection from pid 13287, uid 1000" <roelj>I do get a warning from the client: "substitute-binary: guix substitute-binary: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable" <davexunit>you need to authorize a server to receive substitutes from. <roelj>Ahh, substitutes are binary package so the install process is quicker? <roelj>One more question. I am running Debian now, but I'd like to some day boot Guix instead. Can I do it without removing Debian? <davexunit>have 1 partition for GuixSD, and another for Debian. <roelj>I was more thinking about making a btrfs subvolume where I can install a full guix system, and then switching it as the root. <roelj>That would work pretty much the same I guess. <roelj>How can I do a full Guix install? <davexunit>I have no experience with that, but if it accomplishes what you want, go for it. :) <roelj>Should I install guix with the usb image? Or can I use the guix-in-Debian for a full Guix installation? <davexunit>roelj: basically, you partition your disk how you would like, then create an operating system config file, then run something like 'guix system init my-config.scm' to do the install <davexunit>the manual has much more in depth information, of course, so do read that. <davexunit>it would be more convenient to do it from the comfort of your debian system, I think. <taylanub>(how) can I use an SVN checkout (of a specific tag) as the source? <davexunit>taylanub: grep for svn-fetch in the gnu/packages directory. <roelj>davexunit: Ok, off to the manual it is. Thanks for your help! <roelj>davexunit: I'm getting "guix archive: error: mkdir: Permission denied" when I want to add the authorization for hydra.gnu.org <taylanub>is there something like 'guix download' for svn? <taylanub>or, what's the quickest way to get the hash? <davexunit>since it is a task for an administrator, not a regular user. <davexunit>taylanub: not currently, I've been meaning to fix it. <davexunit>taylanub: so, in the interim, what I do is clone the repo, delete the special svn dirs recursively, then run 'guix hash -r' <davexunit>see the implementation of svn-fetch for the steps that are taken <roelj>davexunit: Got it. Thanks again <davexunit>it would be nice for guix download to handle this stuff, because it will save us having to do a manual process *and* from cloning the repo twice. ***DusXMT_ is now known as DusXMT
<taylanub>davexunit: might it be that 'svn export' is a better way to get specific revisions from SVN repos? <rekado>hmm, "./waf configure" fails during "guix build" but works fine in "guix environment --pure". <rekado>the environment is identical, yet in guix build an error is thrown about a file that cannot be found. <rekado>the file is a C file generated by waf to test the compiler. <nebbia>hi everyone, is guix at a stable version ? <taylanub>nebbia: if you mean like 1.0, then no, the latest release is 0.8.1 <nebbia>ok, but does it follow the fhs hierarchy standard ? <taylanub>Guix is the package manager. the GNU system it installs does or is fairly easy to make it conform to the FHS from what I know. see NixOS <taylanub>Guix is a package manager plus a lot of recipes that ship with it (currently about 1.2k IIRC), but the Guix project/developers also develop e.g. GNU dmd (an init system) and other things related to making a full GNU OS (using the Linux-libre kernel for now). that OS is called Guix System Distribution or GuixSD for short. <mark_weaver>taylanub: is there any way to bootstrap ccl from source code? <taylanub>mark_weaver: apparently there isn't. an SVN checkout contains precompiled images for all supported platforms. <taylanub>the "lisp kernel" is in C and can be simply compiled, but it requires a "heap image" to run, and that can't be generated without a running copy of CCL <taylanub>by the way is it possible to specify different source origins for different platforms? the SVN checkout contains things like FreeBSD and Solaris images, which are big. <mark_weaver>not having a way to bootstrap from source code makes me very grumpy <mark_weaver>it's not the source code that you're downloading. we shouldn't call it that. <mark_weaver>you can look at the 'mit-scheme' scheme package for one way to deal with it. <mark_weaver>rekado: there are several differences between the guix-daemon build environment and "guix environment --pure". most notably, guix-daemon sets up a chroot container and private namespaces that contain *only* the inputs. <mark_weaver>and the build environment lacks /bin/sh, and has an extremely minimal /etc, etc. <taylanub>is there a way to make Emacs's M-q do correct indentation for (#:foo x <newline> #:bar y ...)? mine aligns #:bar with y. <mark_weaver>taylanub: I hacked emacs to make it do the right thing there. civodul uses my hack also. I should really upstream it. <mark_weaver>in my .emacs, I explicitly (load "scheme") and then redefine that function. there's only one added clause in the 'cond'. <mark_weaver>nebbia: the special features we provide would not be possible if we followed the FHS. <mark_weaver>taylanub: see the comment ";; This next cond clause is the only change -mhw" <mark_weaver>taylanub: that copy of 'scheme-indent-function' was based on emacs 24.2. I suggest copying it from the version of emacs you're already using and then just adding that 'cond' clause.