IRC channel logs


back to list of logs

***endou_ is now known as endou
<nalaginrut>morning guilers~
<civodul>Hello Guilers!
***wingo_ is now known as wingo
<civodul>hey wingo
<civodul>wingo: i just now took the freedom to request a change to "git-multimail" for guile-commits:
<civodul>let me know if that's a problem
<civodul>(i think that's a great improvement)
<wingo>sgtm :-)
***_zxq9_ is now known as zxq9
<nalaginrut>maybe we should add this thing: (->signature "int foo(int, int)") for better FFI handling
<taylanub>Putting syntax into a string makes me immediately raise an eyebrow, though it might be nice for convenience.
<lloda>parsers parse strings /shrug
<nalaginrut>well, it'll be expanded to fill pointer->procedure
<nalaginrut>which may provide an explicit way for FFI
*civodul likes pointer->procedure
*wingo working on language/cps/types.scm
<civodul>wingo: i saw that, and that looks pretty cool
<wingo>did i upload that actually? i don't think so
<wingo>i uploaded a lame thing in dce but there needs to be a separate pass, for various reasons
*wingo wants (match (vector 1 2 3) (#(a b c) (+ a b c))) to reduce to 6
<civodul>i saw a commit mentioning a "lame type analysis" or something, no?
<civodul>ah yes
<civodul>so you'll want to type-annotate primitives?
<wingo>yes, i just finished doing that -- but not it's not just annotating primitives
<wingo>i want to do range analysis at the same time
*wingo uploads the module commentary somewhere
<civodul>ooh, fancy stuff
<wingo>it's n-squared tho
<civodul>nice read, very cool
<civodul>we're getting a very nice compiler
<wingo>the number types are very representational -- so there's &exact-integer, &flonum, &complex, and &fraction
<wingo>whether a value will definitely be a fixnum or not depends on its range
<wingo>and it having the exact type &exact-integer
<wingo>i realized this morning that primcalls that might cause type-check assertions might be good places to unbox numbers
<wingo>like if you can prove that the arguments of a particular `+' invocation are small integers, you can unconditionally unbox them
<wingo>and if you can't prove it but you know it has to be true, as in the index of vector-ref, you can do a check-and-unbox beforehand
<wingo>anyway, not a win until we get native compilation i think, but interesting to think about
<wingo>unboxing floats could be a win today of course, but the runtime would have to be a bit more robust, and allow unboxed stack values
<civodul>that opens a wide range of possibilities
<taylanub>wingo: um, that `match' does reduce to 6 here, on 2.0.11
<wingo>taylanub: perhaps you used #(1 2 3)
<wingo>not (vector 1 2 3)
<wingo>they are different.
<wingo>i'm not talking about the result, i'm talking about the compiled code :)
<taylanub>oh, haha
<taylanub>sorry :)
<civodul>wingo: could you comment on the thread on gdb@ about the parallel mark bug?
<wingo>civodul: hm, not on the list; will take a look, sure.
<civodul>i Cc'd you, no excuse ;-)
<wingo>ok :)
<wingo>"i'm working on a compiler" is the worst excuse when it's my job :P
<daviid>wingo: wrt guile-gnome, I realize that some of patches I submited and the ones that I will submit (I have a test-suite related series of updates so that make check works, corrections for some scheme files tht raised bug at compile time...) are not compatible with guile-1.8. I really don't want to 'looze' my time about that and so I would like to create a devel branch for the guile-gnome repository where once you're ok I can
<daviid>push... which eventually will become a release strictly depending on guile-2, is that ok with you?
<davexunit>to hell with guile 1.8, imo. It's been 3 years since 2.0 was released.
<wingo>daviid: sure, please feel free to create branches
<daviid>wingo: ok, tx
***sneek_ is now known as sneek