IRC channel logs


back to list of logs

<ijp>there is no reason it couldn't be so, I think racket does it, but we do not currently
<c107>ijp: Can it be converted to C?
<ft>chicken compiles to C.
<ijp>chicken does, gambit does, we do not
<c107>I don't know why I'm using Guile, then. It seems like a very limited Scheme implementation.
*ijp rolls eyes
<ijp>why did you choose guile? surely you thought about your requirements first?
<c107>ijp: I chose it because it was popular. I didn't yet see any reason to choose any particular implementation.
<davexunit>Guile is many things, one that it is not is limited.
<davexunit>c107: read this if you want to learn more about the different scheme implementations
*c107 smiles
<dsmith>10 billion flies couldn't be wrong....
<nalaginrut>morning guilers~
<davexunit>morning nalaginrut
*davexunit is reading about functional game programming
<zacts>davexunit: what specifically are you reading?
<zacts>sounds cool
<ft>Someone just linked this elsewhere:
<ft>"Posts generated by a Markov chain trained on the King James Bible and Structure and Interpretation of Computer Programs."
<ijp>every time I see a url I'm reminded that I did nothing with my "scoping is hard" tumblr
<TaylanUB>Hahaha, awesome.
<nalaginrut>oh~I like it
<wingo>our interpreter is competitive in speed to spidermonkey's baseline jit compiler, at least for one silly test i made
<wingo>slightly slower but still pretty good
<TaylanUB>Which interpreter is that ? (How can it be compared to a JS JIT ?..)
<wingo>our bytecode vm
<wingo>tested on equivalent for loops
<TaylanUB>Oh I see, neat!
<Fuuzetsu>@package fgl
<Fuuzetsu>wrong channel
<dsmith-work>Hey hey
***fangism-ctrl-Z is now known as fangism
<shanecelis>Thanks to #guile's help, I've got some code to determine where a procedure is defined at runtime.
<mark_weaver>shanecelis: that shouldn't be needed. you can find the source location of procedures defined in the normal way.
<mark_weaver>shanecelis: nalaginrut worked on something like this a while back:
<mark_weaver>it had some problems, but it should show you what you need to know.
<shanecelis>"Unknown meta command: src" hmmm... in what version of guile?
<mark_weaver>it was never added to guile, but he had a proposed patch.
<mark_weaver>shanecelis: granted, it's not exactly a documented interface, but you can do (use-modules (system vm program)) and then (program-source <procedure> 0)
<shanecelis>mark_weaver: Ah. I see. Whew. That's a lot better.
<mark_weaver>we should probably have a proper interface for that, but the problem is that it's a bit dicey in the general case. for example, srfi-9 record definitions implicitly define several procedures, e.g. accessors. what line number should be reported for those? :)
<davexunit>ah, tricky.
<Madsy>Uh, what is this useful for? Isn't fgrep good enough? :D
<shanecelis>Madsy: Not much. One can get the info on procedures easily enough, but the gist might still be useful for other things.
<mark_weaver>Madsy: personally, I like the emacs feature that brings you right to the source code of any function. it would be good to have something like that for guile too.
<mark_weaver>(if you're using a distro's packaged version of emacs, quite possibly it's crippled, but if you compile upstream emacs from source code, you'll see in the help system for any function a little button that brings you to the source code)
<wingo_>(procedure-source proc0
<wingo_>(procedure-source proc)
<mark_weaver>wingo_: sounds great, but it doesn't work for me.
<wingo_>right, seems not to work for me either atm
<wingo_>dunno why!
<mark_weaver>I guess we should fix 'procedure-source' so that (program-source <proc> 0) doesn't end up in too many places.
<wingo_>yes that would be the right thing to do
<wingo_>you on master or 2.0?
<mark_weaver>I've got both compiled, but I did the test on 2.0
<wingo_>yes, i think the c implementation is just bogus unfortunately
<mark_weaver>it doesn't work on master either, for me.
<wingo_>it needs to check the source property in the overrides table if present, and otherwise fall back to program-source