IRC channel logs


back to list of logs

<ddp>it’s so nice seeing the whole gang back together...
<ddp>that was obviously the wrong window. i think maybe i better just log out of freenode until after the burn is done
<ddp>yes, that’s a good plan
<OrangeShark>hello everyone
<tohoyn>does anybody know about guile syntax objects?
<tohoyn>I need to know where the (syntax x) forms are compiled
<tohoyn>has anybody made a Debian package for guile 2.2?
<apacuro>Is it possible to mix C code with macro programming ?
<random-nick>what do you mean by that?
<random-nick>using macros in C? C only has CPP macros which operate on simple text substitution
<apacuro>Let's say I want to implement a type system within guile,
<apacuro>and I want to use a C-implemented hash, to store the type-variable association
<apacuro>Is that possible ?
<random-nick>why would you want a C implemented hash for that?
<random-nick>I think you can do it by using the FFI in macro-expansion time with eval-when
<random-nick>see the API reference for eval-when and the FFI
<apacuro>[looking at that right now]
<joolean>Howdy, Guilers!
<joolean>So, I’m finding `syntax-module’ very useful, but I find that it’s only reliable in the context of `eval-when (load)’. I.e., `(import (foo module)) (syntax-module foo)’ => `(guile user)’ whereas `(import (foo module)) (eval-when (load) (syntax-module foo))’ => `(foo module)’.
<joolean>I think I know why this is happening, but is this the expected behavior?
<wingo>joolean: what about (begin (import (foo module)) (syntax-module foo))
<wingo>just wondering
<joolean>Hey wingo! I’ll try that.
<wingo>there are some differences based on whether it's two top-level expressions or one
<joolean>Sorry to hear about the Paul Graham thing, by the way :)
<joolean>If you’d like I can send you a digest of his worst, most-inhumane thoughts
<wingo>that's since years ago, and that guy is a jerk anyway :)
<joolean>wingo: Doesn’t seem to make a difference.
<wingo>yeah, sorry then :/
<wingo>guile's expand-time mapping of what module is current is kinda wonky
<joolean>Would you accept a patch to add some docs around that?
<joolean>Or is it wonky enough that you’d prefer people stay away
<cmaloney>for those of us tuning in: what's up with PaulG, the walking horoscope of advice?
<wingo>joolean: i dunno, it's somewhere in between the two of those things
<wingo>like, it's something i would rather fix than document; but perhaps that is not the useful approach
<joolean>oh, I mean, I guess I meant do you want people to stay away from `syntax-module’ itself?
<joolean>there are some ominous comments about it in the manual
<wingo>no, i mean i would rather have a better story about how top-level binding resolution works
<joolean>gotcha. Okay.
<wingo>syntax-module is fine :)
<cmaloney>"here be dragons"? :)
<wingo>"and this is a taxonomy of the dragons found herein..." :)
<cmaloney>completely unrelated: been playing around with Elm a bit and I have to thank guile for having a snappy REPL
<cmaloney>Elm's REPL's syntax checking makes it noticably slow
<cmaloney>(and not just the first statement execution like Racket)
<ArneBab>I did a basic geometric mean evaluation of the results from ecraven, and it shows a remaining factor 8 distance from chez
<ArneBab>(so chez takes on average 1.87-times as long as the fastest while Guile takes on average 15 times as long as the fastest)
<ArneBab>(expt (apply * result) (/ 1 (length result)))
<ArneBab>(this finally gives me a feeling how programs would perform when run under Chez)
<ArneBab>listing only the schemes with at least 54 successful tests: Chez 1.9, Gambitc 2.8, Larceny 4.4, Racket 4.7, Petite 12.0, Cyclone 13.3 Guile 15.4 Gauche 18.7, Sagittarius 21.5
<ArneBab>so there’s still quite a bit space for improvement for Guile on this benchmark
<ArneBab>(and with Racket switching to Chez, it should close the gap between Scheme and Java/Go/C#/Ada/Swift)
<amz3`>where is sneek?
<cmaloney>part of the fun of being married to a college astronomy professor: we're doing science here.
<manumanumanu>ArneBab: I finished the first 100 or so problems of project euler with both guile and chez. Chez is friggin fast, but has no batteries included. That's why I started Nietzsche. I have a lazy prime sieve somewhere in my bitbucket repo, and that one beat the Haskell one I copied by so much it wasn't even funny
<manumanumanu>ArneBab: and chez sometimes gives you weird or no error messages, which is sad
<avoine>rekado: Did you found a solution for serializing Scheme code?
<rekado>avoine: no, I have not, because it probably isn’t really what I actually wanted.
<dustyweb>heya rekado_