<ft>I could use make-bytevector and then bytevector-copy! — but that copy would then get copied again once its decoded into a real data type. Which I'd like to avoid as well. <ft>My brain may be too rotten by all those years of C where I'd stick a pointer into the source array add a length and turn that into whatever final structure. :) <ft>I would love to get around that one layer of indirection. :) <ft>I guess I'll copy sub-vectors then. Probably a bit less overhead then turning everything into lists. ***karswell` is now known as karswell
<lloda>I have a half-assed library that lets you take pieces of arrays like (from array (J count start step)), no copies, I can fish out the link if you want <ft>lloda: I wouldn't mind taking a look, though I do have an implementation that avoids intermediate copies. <lloda> Then (use-modules (ploy ploy)) (from #(1 2 3 4 5 6) (J 3 1)) => #(2 3 4). It does any number of dimensions, no doc to speak of, and I haven't updated it in a while. <lloda>Although I do use it myself all the time, the basic array support in Guile is really rough. <ft>lloda: Thanks! I may need it if my approach turns out to suck in the performance department. :) <catern>hey #guile, I have a kind of vague question. I'm trying to compile Guix, and I'm getting a lot of really random errors. My guile installation might be miscompiled, maybe? or perhaps there's something else wrong? <catern>the errors are things like, "no such language tree-il" <catern>"module not in submodules table" <catern>and the strange thing is that they seem to change randomly each time I run make? <ft>What guile version might that be? <ft>No idea then. :) …experts may come in at any point, so stick around. :) <catern>I've tried actually with two different guile versions (2.0.12 and 2.0.13) compiled by two different package systems (nix and gsrc), but had the same general type of errors... so I feel like maybe there's something wrong with my environment beyond any individual guile? <lloda>ft: let me know if anything comes up. <lloda>catern: have you tried #guix <catern>I have :) is there some way I could check whether it's a guix issue or a guile issue? <ft>lloda: I will. Don't hold your breath though. This is a sparetime project. :) <catern>I guess, can you recommend something else I could try to compile? <lloda>catern: I don't use Guix (yet), no idea. Does Guile run at all? can you run > guile and get a repl, type commands? dunno <catern>in fact, I can even do ,language tree-il <dsmith-work>catern: Might be instructive to run under strace (probably just looking at file stuff with -efile) and see where it is looking. <dsmith-work>Also, do you have more than one version of guile installed? <catern>I do, but they should be non-overlapping, I think... <dsmith-work>Yes, *should* be parallel installable for major versions. <catern>well, the only multiple versions I have are .12 and .13 <catern>would it break things if they were picking up each other's files? <dsmith-work>2.0.12 and 2.0.13 ? No, I don't think that can work. <catern>well, they still shouldn't be overlapping <dsmith-work>Things like 2.0.x and 2.[12].x are parallel installable. <dsmith-work>But not by patch level (or whatever that last version number is called) <dsmith-work>catern: For example, I have a dir named /usr/local/lib/guile/2.2/ <catern>yeah, I figured it out.. it was conflicts between versions after all <dsmith-work>Oh, and the odd numbered dev stuff (like 2.1.x) seems to be install to the next stable (even) place, so 2.1.x is install to 2.2