IRC channel logs


back to list of logs

<paroneayea>I don't suppose we have any memory profiling tools I don't know about...?
<paroneayea>looks like it's in 8sync somewhere...
<paroneayea>I found the source of the memory leak
<paroneayea>it *was* in fibers after all
<paroneayea>sneek: later tell wingo found a memory leak in Fibers, but not sure why it's happening
***do is now known as w1gz
***random-nickname is now known as random-nick
<dsmith-work>paroneayea: By "properly tail recursive" are you asking if a recursive call grows stack or not?
<dsmith-work>paroneayea: Guile will always make a jump when a call is in tail position.
<dsmith-work>(per the scheme spec)
<paroneayea>dsmith-work: yeah, was just checking that I wasn't screwed over by some crazy macrology or something. I did ,optimize to see what it was going to be
<paroneayea>and that confirmed, the call was in the tail position. Turned out that wasn't the bug.
<paroneayea>wingo: got a minute? I'm trying to read channels.scm and I'm a bit confused by the (maybe-commit) sub-procedure in put-operation
<paroneayea>the 'W handler does a (maybe-commit) but it doesn't necessarily succeed
<paroneayea>just trying to understand... so is this basically where it *tries* to remove an item from the queue, but maybe doesn't succeed
<paroneayea>ok, wait I think I get it... we want to do it at the enqueue! stage.
<amz3`>nice to see some interaction between guilers
<amz3`>instead of everyone working on their own speck
<paroneayea>amz3`: yeah! Fibers and 8sync are finally coming together, arm in arm, at last :)
<paroneayea>... hey wingo :)
<paroneayea>wingo: where'd this functional dequeue design come from?
<davexunit>okazaki's data structure, but ijp's scheme implementation I think?
<paroneayea>ACTION playing with it
<paroneayea>I get it now
<paroneayea>you reverse the tail of the list when you dequeue and move it to the head
<paroneayea>pretty cool
<OrangeShark>paroneayea: oh ya, that one I think is in Okazaki's functional data structure paper
<paroneayea>wingo: fix for the channels dequeue leak
<paroneayea>seems to work here.
<ijp>The queue version of that is probably the best functional queue under normal access patterns, but I've always been more sceptical of the deque version
<ijp>it's also roughly how you do a list zipper
<ijp>which gets used in minsky's proof that PDA with 2 stacks are equivalent to turing machines
<paroneayea>I don't find Mono to be that exciting, but more webassembly generation is cool
<ijp>I'd forgotten all about mono. Weird, because it / de icaza used to be really controversial
<paroneayea>heh indeed