IRC channel logs

2017-05-29.log

back to list of logs

<davexunit>paroneayea: yeah zip-up hoodie would be so awesome.
<davexunit>I think I'm going to order a guile coffee mug
<davexunit>I'm not sure how a guixsd mug would look. would it be all black or would it have that white handle in the computer-generated preview?
<jralls>I'm having trouble building guile 2.0.11 on Mingw64-i686. It fails immediately after compiling eval.go: The next compile "requests the Runtime to terminate it", as does any attempt to start guile. I see in the debugger that it's actually raising the "bad bytevector size" error in objcode.c line 325 from attempting to load the newly-compiled eval.go. I've made sure that there aren't any other eval.go that it might be finding.
<jralls>The code was patched with the three patches at https://github.com/Alexpux/MSYS2-packages/tree/master/guile, and there exists a 64-bit build in the mingw64 pacman repository so I imagine that it has something to do with 32 vs. 64 bit encoding on Windows. Any ideas where to look?
<sirgazil>o/
<sneek>sirgazil, you have 1 message.
<sneek>sirgazil, paroneayea says: is there any way to get the guixsd logo in a zip-up hoodie?
<sirgazil>paroneayea: davexunit: there is a zip-up hoodies: https://teespring.com/stores/vestaro/page/2
<sirgazil>davexunit: I'll ask about the mug handle.
<Apteryx>In the Guile debugger (REPL), can I show the listing (see where I am in the source?)
<Apteryx>We'll need this if we're to take over elisp ;)
<roelj>Is there a way to define "dynamic" function names to do something like this: (test-a instance) => (slot-ref instance 'a), (test-b instance) => slot-ref instance 'b)?
<civodul>roelj: these are just accessors no?
<roelj>civodul: Yes, they are
<civodul>if you use GOOPS, 'define-class' has a way to define getters
<civodul>maybe just #:getter
<roelj>Oh right!
<roelj>thanks :)
<wingo>good morning :)
<sneek>Welcome back wingo, you have 1 message.
<sneek>wingo, stis says: got a question: should we commit the simple case of -g0 first and then make a guild strip funciton
<wingo>sneek: later tell stis yeah i think -g0 should come first
<sneek>Will do.
<civodul>hello wingo!
<wingo>heya civodul :)
<baijum>What would be a good book to learn Scheme?
<wingo>baijum: what kind of book do you like? very introductory, more industrial, somewhat academic?
<wingo>i think for the first two, for my tastes, i would use "the scheme programming language", available online, either version 3 for a more "classic" flavor or version 4 for a more industrial flavor
<wingo>if you want an academic approach, i think you should learn the basics by reading the r5rs scheme standard, then read the manual of the implementation you are using to see the flavor of how that language is put into practice
<wingo>just mho though :)
<baijum>wingo, thanks for your suggestions - I am looking for an introductory book.
<wingo>"the scheme programming language" version 3 is good for that. if you find its learning curve to be too steep, maybe give http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html a try
<baijum>wingo, I will give "the scheme programming language" a try :)
<roelj>Is 'inet-aton' no longer available in Guile 2.2.2?
<civodul>roelj: use 'inet-pton'; 'inet-aton' is IPv4-only and has/had been deprecated for a long time
<roelj>Well, I was following: https://www.gnu.org/software/guile/manual/html_node/REPL-Servers.html
<roelj>And 'run-server' fails because 'inet-aton' cannot be found.
<roelj>Anyway, thanks again. :)
<civodul>sounds like we need to fix the doc
<roelj>Having two lists (a b c) and (d e f), is there already a function that can combine them like so: ((a .d) (b . e) (c . f))?
<lloda>that's just (map cons l1 l2)
<roelj>Woah, indeed.. That simple.. Thanks!
<roelj>Should I use map-in-order to guarantee that a will be matched to d and b to e and c to f?
<roelj>Or is it also guaranteed when using 'map'.
<OrangeShark>roelj: that would be guaranteed.
<OrangeShark>map just doesn't specify whether (a . d) or (c . f) is created first. It will still be in the same order.
<roelj>Oh, I see
<roelj>well, that's fine, as long as the pairs are created correctly
<roelj>Cool!
<OrangeShark>it only matters if you have a side effect, for example if the procedure passed in would print the input
<roelj>How would that affect the pairing?
<roelj>Or, I mean, why would that matter?
<OrangeShark>it wouldn't affect the pairing
<roelj>Ah, but only the order. Well, that's good, because htat means it can be parallelized.
<paroneayea> http://technomancy.us/159 has some mention of guile and guile-emacs
<DeeEff>paroneayea: note that that article is from 2012
<DeeEff>there's a bit difference between guile then and now
<paroneayea>DeeEff: hm, it is from 2012
<paroneayea>DeeEff: I think they're also wrong about guile containing all the right immutable types you'd want... yet
<DeeEff>I honestly couldn't tell if they were talking about low-level types or actual Scheme stuff.
<paroneayea>I don't think they're talking about low-level types
<paroneayea>I think they're talking about wanting the high-level immutable structures clojure has.
<paroneayea>guile may have those in core eventually, but it doesn't yet
<DeeEff>Guile supports ilists, right? You pretty much just need immutable strings and cons cells and you can implement most of clojure
<DeeEff>although I imagine persistant structures would need immutable records of some kind as well
<paroneayea>we don't have immutable cons structures, but mutation of cons structures is discouraged.
<paroneayea>strings are also mutable, but string mutation is discouraged likewise.
<DeeEff>sounds like guile needs srfi-116
<DeeEff>and some correspondent library for immutable strings
<paroneayea>DeeEff: "you could implement" clojure's datastructures with what Guile has, but Clojure's datastructures are fast because they use mutation under the hood, as most immutable fast datastructures do
<paroneayea>there are a few similarish things
<paroneayea>wingo's fashes and fectors modules, and ijp's pfds repository, have functional datastructures that could be useful
<paroneayea>but they aren't in core, and aren't super widely used by the guile community
<DeeEff>hrm... I guess I don't know too much of Clojure's internals, here I thought a lot of their persistent structures were just finger trees under the hood
<paroneayea>DeeEff: I don't know for sure but I think they aren't finger trees
<OrangeShark>DeeEff and paroneayea: I think the majority of the data structures in clojure are based off of Hash Array Map Tries which is in ijp's functional data structure lib
<daviid>hum, opening a 1GB image, 3 channels of +- 350MB each, then
<daviid>scheme@(guile-user)> ,time (im-delineate $2 10)
<daviid>GC Warning: Repeated allocation of very large block (appr. size 1431617536):
<daviid>
<paroneayea>OrangeShark: that may well be :)
<paroneayea>hoo
<paroneayea>I made the mistake of testing my file uploader tool in Pubstrate by uploading a 50MB file
<paroneayea>and it passed through several pieces of tooling transfering it between bytevectors (the (web server) http server, and the multipart file tooling, which although abastractly supports ports as output, doesn't write to temporary files yet)
<paroneayea>my computer was unhappy with me
<paroneayea>well, I knew that eventually I'd need to use an 8sync or fibers solution for http bodies
<paroneayea>guess now I really know ;)
<daviid>I guess the above warning comes from the GC, not from guile? this message is a bit annoying (for potential guile-cv users) and unecessary: (a) there is no other option then allocating 3x a block of mem for each channels, (b) the computer has 30x more mem then required, the process goes well and takes +- 4min (4x faster then imagej for that procedure) and (c) the time report report says GC time is 6sec (out of 274s real time) ... I
<daviid>wonder if it is possible to suppress these messages from guile and how?
<chatter29>hey guys
<chatter29>allah is doing
<chatter29>sun is not doing allah is doing
<chatter29>to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger