IRC channel logs


back to list of logs

<paroneayea> genetic programming language
<paroneayea>has a scheme implemenation:
<daviid>if I do this (table (@ (align "right")) (tr (td (l "License")) ...)), then the vertical rendering wrt previous and next paragraph is weird: as if there were no table defined. If i do this instead (table #;(@ (align "right")) (tr (td (l "License")) ...)) it's fine, any idea why ?
<daviid> <- what's wrong ?
***jao` is now known as jao
<daviid>[fixed the tipo line 8, string-append, not sring-append, but still does not work
<daviid>and the tipo line 10, ?stat, not status, but still does not work :)
***nate_ is now known as n8a
<paroneayea>when I do a throw, when at the backtrace prompt, it shows it a function up from where it was actually thrown from
<daviid>got it right, sorry for the noise
<paroneayea>,locals shows me local variables, but what about variables in lexical scope?
<davexunit>that would be a looooong list
<paroneayea>davexunit: heh
<paroneayea>I wonder if there's a way to access them though
<davexunit>yes there's some way
<davexunit>but I don't know off the top of my head
<paroneayea>ACTION just now getting a handle on using more advanced guile debugging techniques
<paroneayea>I'm rather liking it
<davexunit>there is probably some procedure with 'environment' in the name that could help
<davexunit>I want to figure out how to do remote debugging
<paroneayea>davexunit: for guix? :)
<davexunit>no, that can't happen there.
<davexunit>but like, trip a debugging REPL in some arbitrary point of code and connecting to that.
<davexunit>I'd like that for Sly's game loop.
<davexunit>I'd like to trigger the debugging REPL when an exception is left uncaught in the game loop and have an existing REPL server client jump into it.
<davexunit>for debugging guix builds, the answer is 'guix environment --container'. we could never allow the user to mess with the actual build containers.
<paroneayea>wow, debugging guile is amazing.
<nalaginrut>morning guilers~
<amz3>héllo :)
<nalaginrut>yes, IMO we should study how to tweak GC...
<amz3>what do you mean?
<amz3>to force gc for instance?
<amz3>ACTION thinks GNU epsilon has a feature like that..
<amz3>I mean tweak the GC
<amz3>It has supposed to be added to it
<amz3>not sure, did not have a look at it since a long time
<amz3>but here, I suppose, it's a matter of having a few procedures that allows to fine tune gc, not replace the gc with something different
<nalaginrut>GC in Guile hasn't been well studied yet, I mean how it really works, what's the activity in different scenario, and how to tweak it
<nalaginrut>at least I haven't seen such articles
<civodul>well, libgc itself has been studied a lot
<civodul>notably in the context of Scheme implementations such as Bigloo
<civodul>and we did some benchmarks when we switched from 1.8's home-made GC to libgc
<nalaginrut>I mean not well studied for writing applications with specific Scheme implementation
<nalaginrut>maybe well for bigloo
<taylanub>ACTION wonders how hash-for-each behaves on weak hash tables when a GC run deletes entries from the table in the middle of the for-each
<amz3>the way libgc works, allow me to use the vanilla wiredtiger bindings with guile without having to keep a reference to values between calls...
<amz3>vanilla wiredtiger *API*
<civodul>taylanub: removal is supposed to be atomic
<amz3>in cpython it doesn't work that way, at least with those bindings, once the program is out of the `(cursor-set-key cursor key)` procedure, the key reference is lost and the program try to `(cursor-insert cursor)` some random value found in the inplace of `key`
<amz3>in guile it works fine
<taylanub>civodul: in particular I wonder what happens when the table is shrinked. a naive implementation might go out-of-bounds on the bucket vector, I imagine. trying to test it out but I dunno when it's supposed to shrink back.
<civodul>taylanub: normally scm_i_rehash calls cannot happen concurrently with other accesses to the hash table
<civodul>the only thing that can happen concurrently is nullifying entries, since this is handled by the GC
<civodul>but there are checks for SCM_WEAK_PAIR_DELETED_P in hashtab.c
<civodul>anyway, it would still be useful to audit that code with a fresh eye :-)
<civodul>and IIRC there's an open bug in that area
<dsmith-work>Thursday Greetings, Guilers
<mark_weaver>taylanub, civodul: I haven't fully read the backlog, but wanted to mention that the handling of weak pointers is substantially reworked (and improved) in the 'master' branch, so I would advise not wasting much time looking at stable-2.0
<civodul>noted :-)
<davexunit>mark_weaver: ooh that is good news. I use weak hash tables for a major component of Sly.
<taylanub>mark_weaver: neat, thanks for the notice
<davexunit>it makes the "reactive" stuff play nice with the GC by making one direction of the doubly linked structure weak.
<davexunit>take that javascript reactive libraries.
<taylanub>ACTION painstakingly added ephemeral tables to SRFI-126 (hard to grok semantics; can't be explained solely in terms of weak and strong references)
<paroneayea>ohhhh I keep forgetting about case-lambda
<davexunit>occasionally useful
<davexunit>easily abused. I've abused it before. :)
<paroneayea>I like abusing features!
<taylanub>I use it extensively since I like to keep my code as close to RnRS/SRFIs as possible and case-lambda is standard now, optargs are in some not-widely-supported SRFI only
<taylanub>mark_weaver: BTW I don't know if you got my message a couple days ago; I'd love your input on SRFI-126 if you have time. I know you're often very busy though so no problem if you say no. live version is at
<taylanub>civodul: ^ you too if you're interested (and wingo if he were around...)
<civodul>taylanub: i've seen it... just at the same time as SRFI-125
<civodul>and my first reaction was along the lines of, "why do we need 2 additional hash table APIs?"
<civodul>while we already have SRFI-69 and R6 and Guile's and...
<taylanub>we're in communication with J. Cowan and he encouraged me to give it a go. his is, well, in J. Cowan style :)
<civodul>heh :-)
<taylanub>mine is R6 based, since SRFI-69 has flaws
<civodul>i have to go, ttyl!
<mark_weaver>taylanub: thanks for the reminder; I'll try to find time, although as you say, I'm extremely busy and low on time lately.
<codemac>guile's repl had a change recently (i think) where now when a backtrace occurrs it's N levels deep instead of just 1 more.
<codemac>So when I mistype or some error condition hits, I have to type ,q 42 times to get out of it. Am I doing this wrong?
<daviid>codemac: this looks like the symptom of a bad install, what guile version? do you use geiser?
<codemac>daviid: yes, I have guile with guix
<daviid>guix is a distro
<codemac>sorry, I meant "yes I use geiser, and I use guile with guix as well"
<davexunit>codemac: try in the regular repl
<davexunit>sounds like a geiser setup issue
<daviid>codemac, then your geiser intallation is wrong/incomplete, double chack
<codemac>yeah, repl works fine in xterm. My apologies. Maybe I have geiser w/guix and an elpa geiser conflicting or something, I'll figure it out.
<daviid>codemac: bad/incomplete geiser install is a common 'prob', no worry
<daviid>why does our bot sometimes writes ACTION, somtimes our nick?
<dsmith-work>daviid: the bot has some fuzzy matching of nicks. Unfortunately, "seen" matches "sneek"
<dsmith-work>seen: botsnack?
<daviid>dsmith-work: anything we could do? [just curious]
<dsmith-work>Every once in a while I ahev half a gumption to rewrite the thing (it's just a sloppy port of a different bot to guile and bobot++)
<dsmith-work>The old sarabot from #scheme
<daviid>ok, tx for the info
<daviid>don't mind he thinks he's someoneelse from time to time, but the 'ACTION' [capital order...] is wierd
<dsmith-work>Hmm. I should look into directly matching the bots name. Bypass the fuzzy matcher.
<dsmith-work>I've enver seen that.
<sneek>ACTION is embarrased
<daviid>dsmith-work: read the log you'll see it everywhere in #guile and #guix
<dsmith-work>Hm.. In my current erc buffer ACTION only appears twice. By daviid
<daviid>ok, i sware i see it quite a lot, but why ? can we change that ?
<dsmith-work>Not sure where that's coming from.
<dsmith-work>As I've said, never seen it.
<daviid>it's not just me, see #guix log as well ...
<dsmith-work>I'll try to rememeber to take a look when I get home.
<daviid>well if yu have wish and time of course ... sorry to bother you wih this
<dsmith-work>Oh, no problem.
<daviid>it just feels I am in military order something .. :)
<dsmith-work>sneek: logs?
<sneek>Someone once said logs is
<daviid>guilers, commander, sir yes sir, ACTION
<dsmith-work>Hmm. I don't think Mark has a search in hit bot logs..
<dsmith-work>mark_weaver: Is there a way to search the bot logs?
<daviid>as another example
<dsmith-work>And sneek sent that?
<dsmith-work>IS #guix logged?
<dsmith-work>OR can I see the logs?
<dsmith-work>I bet that's civodul's IRC client
<dsmith-work>Or a typoe
<daviid>why me then?
<daviid>i use ERC
<daviid>civodul too i think
<dsmith-work>ACTION tries something
<daviid>ACTION thinks its our bot
<dsmith-work>But that message came from civodul, not the bot
<daviid>dsmith-work: but he wrote, 100% sure "/me ..."
<dsmith-work>daviid: I've got some emacs commands, /sneek and /sneeksay, that use "action"
<dsmith-work> /sneek wags
<sneek>ACTION wags
<dsmith-work> /sneeksay daviid: Hi!
<sneek>daviid: Hi!
<dsmith-work>I've got a suspicion civodul is using /me ... but his client is spitting out ACTION ...
<daviid>dsmith-work: #guile's today logs "[02:03:49] <paroneayea> ACTION just now getting a handle on using more advanced guile debugging techniques"
<daviid>09:43, taylanub ... and so on ...
<dsmith-work>sneek: logs
<sneek>Someone once said logs is
<amz3>I did not say that
<dsmith-work>daviid: It's the logger
<dsmith-work>ACTION waves
<daviid>dsmith-work: ok, can we change that?
<dsmith-work>daviid: Pretty sure mark_weaver hosts the logs
<dsmith-work>daviid: I cannot
<dsmith-work>Yeah, whenver anyone does a "/me ..." is shows up in the logs as "ACTION ..."
<dsmith-work>ACTION pats seek on the head
<sneek>ACTION wags
<dsmith-work>sneek: botsnack
<daviid>ok, let's talk to mark_weaver then :)
<daviid>dsmith-work: cool!
<civodul>dsmith-work, daviid: i was using /me, indeed
<civodul>like this:
<civodul>ACTION uses /me
<daviid>yeah, I think we should try to change the way it's lgged
<dsmith-work>daviid: ACTION clean up your room!
<daviid>how do you know? haha
<dsmith-work>daviid: Heh
<mark_weaver>dsmith-work, daviid: I don't host the logs. They are hosted by the gnunet folks. Christian Grothoff set it up.
<dsmith-work>mark_weaver: Ahh. Thanks.
<dsmith-work>ACTION puts the Finger of Accusation back on safety
<mark_weaver>I should say that I have some mixed feelings about easily searchable logs, for the same reason that I have mixed feelings about logs at all.
<daviid>int2hex do we have that somewhere ?
<mark_weaver>some people are made uncomfortable with the logging here, and I imagine it would be worse if their every utterance here was easily searchable.
<dsmith-work>daviid: ^^
<daviid>dsmith-work: to hexadecimal
<mark_weaver>daviid: number->string takes an optional second argument: the radix
<daviid>ah! ok
<daviid>tx both :)
<xyh>how should I fix this :
<xyh>please :)
<xyh>I am using archlinux, and I do not wish to compile guile by my machine.
<adhoc>xyh: perhaps you can edit /usr/local/bin/guild to point to the correct path of guile at /usr/bin/guile
<adhoc>or create a symbolic like from;/usr/local/bin/guile to point to /usr/bin/guile
<adhoc>xyh: man ln
<xyh>but when I run /usr/local/bin/guild, it only trys to find guile in /usr/local/bin/, is it guild's problem ?
<daviid>xyh: did you just installed guile usng arch package? or do you have or did you have other gule installed?
<xyh>only by arch's pacman
<daviid>then you should talk to the maintainer
<daviid>it is an install problem, not a guile neither a guild problem
<xyh>but I have both /usr/local/bin/guild & /usr/bin/guild
<daviid>which precisly should not be the case
<daviid>hence my quizz
<xyh>I ll try to use pacman only
<xyh>guild is of guile-dbi right ?
<daviid>no, guild is guile related script that allows things such as compiling modules ... see the manual
<daviid>anyway, I strongly recommand you first sort out your installation
<xyh>it's cool now :)