IRC channel logs

2020-09-13.log

back to list of logs

<rlb>If civodul responded wrt the i386/i686 numbers.test failures, I missed it (got disconnected), but I have a plausible patch now that makes just those tests unresolved there for the time being, and I'll likely replace the blanket test suppression in the most recent NMU with that soon.
<sneek>Welcome back rlb, you have 1 message!
<sneek>rlb, civodul says: re https://debbugs.gnu.org/cgi/bugreport.cgi?bug=43262 disabling the test on i386 seems ok
<rlb>hah
<rlb>excellent
<rlb>(and almost certainly better than ignoring all test failures, which is what the nmu did)
<rlb>Understandable, since marking them unresolved is not entirely trivial if you're not used to guile, etc.
***catonano_ is now known as catonano
<rlb>I wondered if the examples/Makefile.am really means to fully expand all the vars based on the configure time values. i.e. if it's intended for use with GNU make, then I could easily see wanting to leave $(CC) as $(CC), not as /usr/exciting/bin/gcc-x86...
<rlb>cf. https://bugs.debian.org/953407
<rlb>i.e. Fully expanding creates an example/Makefile that won't work at all if the system that the package is installed on is different (say wrt usrmerge) from the build system.
<rlb>Course maybe it's only intended to "give the flavor" with respect to what's required...
***sneek_ is now known as sneek
***apteryx_ is now known as apteryx
<leoprikler>After reading a bunch of stuff on usrmerge: "There is no way to reliably bring up a modern system with an empty /usr". Uhm, yes, there is? You simply need to put your stuff into /{gnu,nix}/store
***jonsger1 is now known as jonsger
<str1ngs>leoprikler: or you can just init=/opt/emacs/bin/emacs :P
<leoprikler>heh
***jonsger1 is now known as jonsger
<stis>Ahh got python-on-guile working for 3.0.4. I willnot support the earlier 3.x.x versions
<ruffni>how can i read the output of (system "foo") call (for example as string into a variable)? i figure it's some kind of port-redirection?
<pinoaffe>ruffni: usual port redirection directives don't work with system, you can do something along the lines of (let* ((pipe (open-pipe* OPEN_READ "echo foo")) (string (read-line pipe))) (close-pipe pipe) string)
<pinoaffe>ruffni: I recently ran into the same issue, see https://lists.gnu.org/archive/html/bug-guile/2020-09/msg00007.html
<ruffni>sooo, did you manage to find a solution? in your example above i can't see where the (system) call would fit in..
<pinoaffe>ruffni: rather than use the system function, you use the open-pipe or open-pipe* command
<ruffni>ah, i see
<pinoaffe>as far as I can tell, there's no way to redirect the output of system
<ruffni>ok. thank you for your help!
<pinoaffe>no problem
<manumanumanu>oh my god. syntax-local-binding is amazing.
<manumanumanu>If I define a procedure in _the same module_ in an (eval-when (expand) ...) syntax-local-binding can resolve it! I am a very happy man.
<civodul>:-)
<manumanumanu>civodul: this saves me sooo much work. I thought I would have to write a utility to fully expand all macros within a syntax object
<manumanumanu>whereas I can now cheat and just have people not define loop clauses for my looping facility as procedures.
<manumanumanu>The option would be to write CPS syntax-rules macros, which is 1. bad for error reporting and 2. insane.
<civodul>very Kiselyov-y though, no? :-)
<manumanumanu>which is fine for foof-loop, but I am adding subloops and explicit accumulators. The amount of state I would have to throw around in the macros would have been unbearable. my first semi-working draft had this (loop-next ((lets ...) . lets-rest) ((fors ...) . fors-rest) ETC ETC. lets, fors whens, breaks, finals, accs, withs.
<manumanumanu>civodul: oh yes! That's where i first got the idea. first response was "nah. not practical", then I found out that both alex shinn and taylor campbell did it, and it was the only way to do it in a low level macro facility. I almost cried.
<manumanumanu>but syntax-local-binding together with some serious parameter abuse lets me hide most complexity apart from 2 places, which is manageable.
<civodul>heh, i see
<manumanumanu>the macro for just parsing the clauses had over 20 clauses itself, and that made use of quite a bit of auxiliary macros to handle complexity. I ended up being scared to touch it, even though it was just barely in a usable state.
<manumanumanu>anyway. Good night½
<manumanumanu>the racket for loops has a much simpler iteration protocol. You just leave the hard part to the inliner. But then you lose the ability to do direct transformations. In racket you can't do (for/stream ((a 0 b) (b 1 (+ a b)) a) to get a stream of fibonacci numbers. You will have to do it as a fold.
<civodul>hmm
<stis>I think I found a serius bug in guile 3.0.4, not sure but the result is strange
<RhodiumToad>specify
<stis>I want to investigat more but inlining of funcitons may be corrupt