IRC channel logs

2013-05-12.log

back to list of logs

***Guest4094 is now known as micro__
<taylanub>This is really weird; when I `load' my source file, it somehow executes an old version of it. I removed my cache, and it actually re-compiled it, and it seems to even have compiled an old version.
<taylanub>Oh wait ..
<taylanub>It's not the file itself, it's a module it loads.
<taylanub>And an old version of the module is loaded in the REPL. Heh.
<ijp>,reload (that module)
<taylanub>Ah thanks, was trying to use `reload-module'.
***efftee is now known as ft
***micro__ is now known as Guest7847
***Gues_____ is now known as Guest3491
<dsmith_>rlb!
***dsmith_ is now known as dsmith
<dsmith>rlb, What about a newer libgc ?
<dsmith>rlb, MIght need to dep on 7.2d
***Guest7847 is now known as micro_
***brendyyn is now known as brendyn
<rlb>dsmith: guile needs 7.2 -- I forgot about that -- debian still only has 7.1.
<taylanub>Finally giving this some love again: https://github.com/TaylanUB/scheme-bytestructures
<taylanub>I'll either wait until I'm done with syntactic.scm, or announce it before doing so and ask for recommendations on how to approach that ..
<taylanub>Oh and that last bit of documentation .. although the most tricky part, I should definitely finish that.
<taylanub>Integrating this with pointers and such, we could get some really nice integration with C APIs, I think. Someone had proposed that at least. Now I need sleep though, sadly it seems like I can only be productive if I stay up until around 6 AM. :P
***cky944 is now known as cky
***Gues_____ is now known as Guest72842
*cky wonders how ijp is doing in Round 1C at the moment. :-)
***sneek_ is now known as sneek
***Gues_____ is now known as Guest44229
<civodul>hey wingo!
<wingo>heya civodul :)
<wingo>happy sunday to you
<civodul>heh, happy Sunday :-)
<civodul>do you benefit from the French days off?
<wingo>i get the equivalent number of days
<civodul>ah, good
<civodul>i'm asking because May is almost a month off here ;-)
<wingo>didn't do the long weekend thing this w/e
<civodul>ok
<wingo>yeah things are a little strange here, my partner's school in geneva has different days; with her schedule june is much more exciting ;)
<civodul>heh
***Gues_____ is now known as Guest37357
***solarus_ is now known as solarus
<taylanub>Does multiple-values usage require allocation ?
<taylanub>Hrm, if so, I think I can swap out some procedures that return multiple values with syntax forms that let-bind given identifiers to the wanted values instead.
<taylanub>Ehh .. `values' is a procedure it seems, meaning it must do allocation for its rest-arguments. :\\
<ijp>you're worrying too much
<taylanub>Probably .. I just realized the macro solution is not possible.
<taylanub>(Because it will be determined at run-time.)
<ijp>multiple values are passed on the stack
<taylanub>Seems like the only solution is to port the whole thing to macro expansion time, at which point I can allocate as much as I want. I obscured the implementation to this point for no reason then.
<taylanub>ijp: But rest-args require allocation, no ? Is there a values2, values3, etc., or so ?
<ijp>(compile '(values 1 2 3) #:to 'glil)
<ijp>(program () (std-prelude 0 0 #f) (label :LCASE950) (const 1) (const 2) (const 3) (call return/values 3))
<ijp>pushed straight onto the stack
<taylanub>Ah .. neat.
<ijp>we can do this for calls to values that are visible in the code
<taylanub>Oh, right, that was the optimizer, no ?
<ijp>obviously something like (define (k123 f) (f 1 2 3)) (k123 values) isn't treated like that
<ijp>(where k123 is a top-level define)
<taylanub>Hrm, I see `values' in ,optimize output; does that mean it will allocate ?
<ijp>taylanub: this is done in the translation from tree-il to glil
<ijp>which happens after optimisation
<taylanub>OK ..
<ijp>anyway, if you are asking "is $feature slow", you are probably asking the wrong question
<taylanub>It happens in the referencing function for bytestructures, and I think it would be great if simple access didn't require allocation ..
<taylanub>Where's `compile' again ?
<wingo>where's the manual again? ;-)
<ijp>we autoload it at the repl, but for scripts (system base compile)
<taylanub>wingo: Couldn't find it in (info "(guile) Compilation"). :\\
<wingo>taylanub: info guile
<wingo>i
<wingo>compile
<wingo>RET
<wingo>comma comma comma ;)
<taylanub>Hrm, that still doesn't find me the module. :P ("(system base ..)" is mentioned in (info "(guile) Compiler Tower") apparently.)
<taylanub>Thanks though, still an info noob, didn't know of i.
<ijp>you know, there is a procedure index...
<taylanub>ijp: The procedure definition doesn't say in what module it is ..
<ijp>kids these days, think C-s is some sort of substitute for a good old fashioned index *grumble* *moan*
<wingo>if the module isn't mentioned in the right place, please file a bug
<wingo>i know this is diverting your original question, but better to answer it once, well, and in the right place
<wingo>i spent time on those docs and would prefer to spend the current time hacking on the compiler
<wingo>why don't we have exact-integer? in the default environment
***Gues_____ is now known as Guest22624
***ijp` is now known as ijp