IRC channel logs

2015-03-12.log

back to list of logs

<davexunit>sirgazil: https://gitorious.org/sly/sly
<davexunit>it's a game engine, but there are some demos in the examples/ directory
<davexunit>like a 2048 clone and a minesweeper clone
<sirgazil>I'll take a look, thanks.
<davexunit>sirgazil: let me know how it goes.
<davexunit>not many people have tried it out yet.
<sirgazil>Sure.
<davexunit> http://joeyh.name/blog/entry/7drl_2015_day_5_type_directed_spell_system_development/
<davexunit>this is awesome
<davexunit>and could be applied to purely functional games in scheme, too. :)
<nalaginrut>morning guilers~
***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 ?
<civodul>Hello Guilers!
<nalaginrut>seems master has great progress today, so many commits
*nalaginrut is compiling
<wingo>moin
<ArneBab>sneek: later tell davexunit: Thanks for that link! This looks really cool!
<sneek>Got it.
<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>DimStar: hey
<wingo>could it be you were on the release-1.8 branch?
<wingo>apparently there is also a "branch_release-1.8" branch
<wingo>(disgusting, I know)
<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
<DimStar>wingo: no, seems I was on branch_release-1-8 (http://git.savannah.gnu.org/gitweb/?p=guile.git;a=shortlog;h=refs/heads/branch_release-1-8 )
<wingo>humm
<wingo>maybe the texinfo 5.1 fixes in that branches are insufficient and more fixes are needed
<civodul>oh so we had two branches for 1.8?
<civodul>i never realized that
<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)
<ArneBab>I just found guile-fltk, but the download is broken. Is it still available anywhere? http://www.fltk.org/wiki.php?V140+TC+Q
<wingo>just sped up the evaluator by some 20-30%, whee
<wingo>now to see if tests still pass :P
<ArneBab>wingo: wow!
<wingo>yay, working
<wingo>pushed :)
<davexunit>wingo: wow!
<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>it seems, anyway
<wingo>and more than 5x faster than guile 2.0's evaluator
<davexunit>slower than 1.8?
<wingo>at least on this stupid microbenchmark :P
<wingo>davexunit: this is comparing interpreters
<wingo>not vm-compiled code
<davexunit>a-ha
<wingo>1.8's interpreter is pretty fast and written in v
<wingo>er
<wingo>c
<wingo>whereas guile 2.x's is written in scheme on top of a vm
<davexunit>I see
<wingo>we need native compilation to beat guile 1.8's interpreter i think
<wingo>native compilation of the interpreter, i mean
<wingo>can get confusing :)
<wingo>my stupid test case:
<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>for guile 1.8 i get 0.143s
<wingo>rebuilding my guile to test master
<wingo>for master before today, 0m0.432s
<wingo>and for 2.0 0m2.344s
<wleslie>there was a point where you really improved the startup time
<wleslie>what version was that?
<wingo>some time during 2.0 i think
<wingo>dunno
<wingo>2.2 should be faster but i haven't checked recently
<wingo>so master currently does 0m0.322s on that test
<wingo>which is pretty nice :)
<wingo>obviously counting to a million is a silly microbenchmark but it does help compare things...
<davexunit>that is quite nice
<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
<wingo>so, getting there
<ArneBab>only factor 10 slower than C is cool!
<ArneBab>recently I was surprised again how fast guile is for math.
<davexunit>just not floating point math... yet! ;)
<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
<civodul>oh, interesting
<ArneBab>and there is work like this: https://code.google.com/p/lilypond/issues/detail?id=1349
<ArneBab>“Guile 2.0 compat: Scheme macros must be defined/autocompiled before they are used.”
<ArneBab>here’s the guile2.0 tracking bug: https://code.google.com/p/lilypond/issues/detail?id=1349
<ArneBab>so is there still guile-config?
<civodul>ArneBab: yes
<ArneBab>then I have a problem in my local setup…
<ArneBab>thanks!
<hellekin>-win 2
<wleslie>waiting for servers to close connections ...
<ArneBab>I added Gentoo ebuilds which make lilypond build with Guile 2.0, but it does not work yet: https://bugs.gentoo.org/show_bug.cgi?id=538592
<dsmith-work>Morning Greetings, Guilers
<wleslie>happy Friday dsmith!
<dsmith-work>wleslie: still Thurs for me, but Happy Friday to you!
<ArneBab>moin dsmith-work
<wleslie>will there ever be a Genthree?
<ArneBab>wingo: just a stylistic question: in your eval change, why do you put ...) on its own line?
<ArneBab>+ (let ((arg (compile arg))
<ArneBab>+ ...)
<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>(let ((arg [compile arg]) ...)
<ArneBab>they would avoid the mismatch: (( vs. )) ⇒ (( vs. ])
<ArneBab>bbl
***michel_mno is now known as michel_mno_afk
*wingo_ experimenting with a new cps representation
***wingo_ is now known as wingo
<civodul>oh? what sort?
<wingo>less nested
<wingo>no $letk
<wingo>more like a graph
<wingo>dunno, we'll see
<wingo>still functional tho
<civodul>ok
<cluck>my common sense is tingling, maybe there's another interesting post on wingolog incoming!
*cluck ducks
<dsmith-work>lol
<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>ArneBab: no reason
<wingo>history, guile didn't have them, i never expected them and i got used to round brackets
<ArneBab>ok
<wingo>incidentally in your example for me they would make more sense in the binding form, not the value
<davexunit>I don't like using [] in my lisp
<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.
<daviid`>i don't like them either :)
<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.
<davexunit>a cool use of delimited continuations from the Racket docs: http://docs.racket-lang.org/more/index.html#%28part._.Continuations%29
<ArneBab>davexunit: there’s rainbow parentheses or so, which colors them by level and fades them out.
<davexunit>yeah that
<daviid`>with all these brackets, this racket code looks like a configure.ac file :)
<davexunit>haha
*davexunit shudders
<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!
<paroneayea>daviid`: make has guile support now yeah
<paroneayea>davexunit: actually I am serious
<davexunit>I'm the wrong person for that job :)
<paroneayea>davexunit: especially because
<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.
<paroneayea>asheesh even deployed openhatch with make ;)
<davexunit>yeah, there's certainly overlap there.
<dsmith-work>daviid`: Ya, Jao and Rotty were doing a make-in-guile. We had fun naming it.
<dsmith-work>Conjure I think
<davexunit>'build'
<davexunit>how about "dothething'?
<dsmith-work>Conjure's Original Name Judged Un(something by RMS's Email
<dsmith-work>build
<dsmith-work>Nice
<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.
<daviid`>ok, was just curious
<dsmith-work> http://home.gna.org/conjure/
<dsmith-work>Wow. 9 years ago.
*wingo likes intmaps
<davexunit>wingo: that's a guile 2.2 thing, right?
<wingo>yeah, internal thing
<davexunit>oh okay
<taylanub>apparently there's a ##post-gitorious channel
<civodul>oh
<daviid`>right now i don't see any alternative but notabug.org, but if anythng interesting happens let me know... tx