<davexunit>it's a game engine, but there are some demos in the examples/ directory <davexunit>and could be applied to purely functional games in scheme, too. :) ***michel_mno_afk is now known as michel_mno
<daviid`>wrt autoconf macros, i see people doing "GUILE_PROGS\\nAC_SUBST(GUILE)", but the manual says when using... the variable is marked for subsstitutio... so it is unnecessary to call AC_SUBST right? <daviid`>also GUILE_PROGS sets GUILE_EFFECTIVE_VERSION, and mark it for subst as well right? because i see people almost always setting GUILE_EFFECTIVE_VERSION 'themselves' just after calling GUILE_PROGS, which iiuc shouldn't be necesary ? <nalaginrut>seems master has great progress today, so many commits <ArneBab>sneek: later tell davexunit: Thanks for that link! This looks really cool! <ArneBab>mark_weaver: when the wisp SRFI goes final, is there a chance that choosing wisp via --language=wisp could be included in regular Guile? *wingo has some eval speedups in the pipeline <wingo>who was asking about texinfo the other day <wingo>could it be you were on the release-1.8 branch? <wingo>apparently there is also a "branch_release-1.8" branch <wingo>the latter is ahead of release-1.8 and has texinfo fixes <DimStar>wingo: let me check that.. thanks for the pointer (and yes, I was on release-1.8 branch.. sounded more like it's what manages the 1.8 release ;P ) <wingo>yeah i have no idea what happened there <wingo>the strangely-named branch is historically named according to how cvs branches were named :P <wingo>maybe the texinfo 5.1 fixes in that branches are insufficient and more fixes are needed <DimStar>wingo: yes, I think I found 0c8a2c380d705a5113f01d5f8e042897969ca844 which is also needed (should be easy to be cherry picked) <DimStar>but that's still not all... some stuff simply no longer exists in master (doc/tutorial for example) <wingo>just sped up the evaluator by some 20-30%, whee <wingo>now to see if tests still pass :P <sneek>davexunit, you have 1 message. <sneek>davexunit, ArneBab says: Thanks for that link! This looks really cool! *davexunit goes to look at commit <wingo>now only 2.5x slower than guile 1.8's evaluator <wingo>and more than 5x faster than guile 2.0's evaluator <wingo>at least on this stupid microbenchmark :P <wingo>davexunit: this is comparing interpreters <wingo>1.8's interpreter is pretty fast and written in v <wingo>whereas guile 2.x's is written in scheme on top of a vm <wingo>we need native compilation to beat guile 1.8's interpreter i think <wingo>native compilation of the interpreter, i mean <wingo>wingo@badger:~/src/guile-master$ for i in `seq 5`; do time /opt/guile-1.8/bin/guile -c '(let lp ((n 0)) (if (< n #e1e6) (lp (1+ n))))'; done <wingo>obviously choosing your guile appropriately <wingo>rebuilding my guile to test master <wingo>for master before today, 0m0.432s <wleslie>there was a point where you really improved the startup time <wingo>some time during 2.0 i think <wingo>2.2 should be faster but i haven't checked recently <wingo>so master currently does 0m0.322s on that test <wingo>obviously counting to a million is a silly microbenchmark but it does help compare things... <wingo>and it should be obvious but the vm-compiled version is something like 0.035s <wingo>harder to measure that of course <wingo>i would guess a C loop of this kind that doesn't get completely optimized out should run at about 1e9 or 2e9 iterations/s, and trying it out just now we are at 1.1e8/s <ArneBab>only factor 10 slower than C is cool! <ArneBab>recently I was surprised again how fast guile is for math. <ArneBab>when lilypond it complains about missing guile-config - is that gone in 2.0.11 or do I still have local problems? <ArneBab>that should read “when configuring lilypond…” <civodul>ArneBab: LilyPond requires Guile 1.8 <ArneBab>civodul: it has the configure option --enable-guile2 <ArneBab>“Guile 2.0 compat: Scheme macros must be defined/autocompiled before they are used.” <ArneBab>then I have a problem in my local setup… <wleslie>waiting for servers to close connections ... <dsmith-work>wleslie: still Thurs for me, but Happy Friday to you! <ArneBab>wingo: just a stylistic question: in your eval change, why do you put ...) on its own line? <wingo>to indicate that it was on the same "level" as the (arg <wingo>i.e. a binding, not an argument <wingo>sometimes i find it hard to read nested parens horizontally <ArneBab>that makes sense. I stumbled over it, because I mistook the )) after arg as closing the (( of the let call. <ArneBab>wingo: could you use square brackets for that? <ArneBab>they would avoid the mismatch: (( vs. )) ⇒ (( vs. ]) ***michel_mno is now known as michel_mno_afk
*wingo_ experimenting with a new cps representation ***wingo_ is now known as wingo
<cluck>my common sense is tingling, maybe there's another interesting post on wingolog incoming! <dsmith-work>cluck: Must remeber that. My brother-in-law is a huge spiderman freak <cluck>dsmith-work: i wish i could take credit for it but i was only paraphrasing deadpool <ArneBab>wingo: I guess the correct question would be: What is your reason to not use the square brackets (because I think you have one which I’d like to understand) <wingo>history, guile didn't have them, i never expected them and i got used to round brackets <wingo>incidentally in your example for me they would make more sense in the binding form, not the value <wingo>i would never expect [a b c] to be an application <ArneBab>I found the widespread use of them strange in racket, but the code example was a place where I thought they could help, because I actually misread. <ArneBab>but then I guess when using a proper editor the problem would never have occurred <davexunit>I don't think about the parens at all, really <davexunit>there's an emacs mode that you can use to fade them out a bunch, too. I should use that. <ArneBab>davexunit: there’s rainbow parentheses or so, which colors them by level and fades them out. <daviid`>with all these brackets, this racket code looks like a configure.ac file :) <davexunit>when will the day come that the GNU build system uses glorious guile? :) <daviid`>yeah, let's write it davexunit ! by the way there was a project about make, guile-make, don't remember <paroneayea>maybe time to write an autoconf solution in guile! <davexunit>I know guile decently, but not build systems. :) <paroneayea>I think there's a strong overlap between a well written modern build tool and a well written modern deployment tool <davexunit>though writing guix packages has improved my knowledge of them. <dsmith-work>daviid`: Ya, Jao and Rotty were doing a make-in-guile. We had fun naming it. <dsmith-work>Conjure's Original Name Judged Un(something by RMS's Email <dsmith-work>cons is the ideal nameof course, and so already taken <daviid`>dsmith-work: hi! any link to this make project? <dsmith-work>Hmm. Was a long time ago. I think they got caught up in a portability layer for Scheme. <taylanub>apparently there's a ##post-gitorious channel <daviid`>right now i don't see any alternative but notabug.org, but if anythng interesting happens let me know... tx