IRC channel logs

2016-11-16.log

back to list of logs

<daviid>now I really have to run
<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. :)
<dsmith-work>ft: Yeah, that stuff is so natural for C.
<ft>ACTION nods
<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>ft: you can use (make-shared-array) to take out pieces without copying, just the result isn't a bytevector anymore, so you need to use the array functions to extract pointers and what not. Look here: https://www.gnu.org/software/guile/manual/html_node/Arrays.html#Arrays
<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
<davexunit>ACTION filed bug about GOOPS issue
<paroneayea>I saw it... thanks davexunit
<dsmith-work>Wednesday Greetings, Guilers
<paroneayea>hi
<OrangeShark>hello
<ft>lloda: I wouldn't mind taking a look, though I do have an implementation that avoids intermediate copies.
<lloda>ft: https://notabug.org/lloda/guile-ploy/src/nocore (you need this branch, master relies on my patches in Guile, branch lloda-squash0).
<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?
<catern>guile 2.0.12
<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>ft: no worries ;p
<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>yes
<catern>in fact, I can even do ,language tree-il
<catern>and it works
<catern>so I am *quite* confused :)
<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, there are cached .go files.
<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.
<catern>ah
<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/
<dsmith-work>Both 2.2.0 and 2.2.1 would install to there.
<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
<dsmith-work>s/install/installed/
<civodul>catern: could you paste the errors?
<MoronicAcid>davexunit: Are you the author of guile-sdl2?