IRC channel logs
2026-01-24.log
back to list of logs
<resica>Trying to weigh the pros and cons of using guile as the glue of an SDL2 game. You think it would be less a headache to use guile as the entry point that starts the game or a C program that embeds guile into it? <resica>Reason why I'm bringing up C is because the really heavy lifting would be done in C. But I am interested in using guile as the primary means of the game logic. <resica>I'm familiar with chickadee, I think it uses a shell script to launch any given game. That too is an option, might limit cross platform, but it's an option. <graywolf>Hello :) Do we have something similar to let-alist from Emacs available in Guile? <resica>graywolf, let-alist is actually a macro, so you could implement it into guile scheme. <graywolf>Yeah I have decided to give that a try now :) <graywolf>Need to think a bit about the design though, since I want to support string keys and not just symbols <ArneBab>resica: one reason for C with embedded guile could be compiling for Windows. You’ll have to get patches from Lilypond for that for now. <resica>What do you mean by I would have to get lilypond patches just to embed guile in C for windows? <dsmith>resica, Either way can work. It's very easy to write heavy-lifting C code that can be called from Scheme. Or as a C program that can be extenede with Scheme. <dsmith>The trend these days is make the main app Scheme. <daviid>mwette: it's guile-software i think <ArneBab>sneek: later tell resica: windows support of Guile is being fixed at the moment. There are still problems with the JIT compilation that the Lilypond folks solved (they embed Guile for high-performance text work) but that still need to be merged back into Guile itself. <ekaitz>ArneBab: there are a few PRs pending in lightening I have 0 knowledge about windows, so I don't know what to do with them <ekaitz>I don't have any windows machine to test them either <ekaitz>plus being a windows fix makes me not very interested on actually learning about it :) <ArneBab>ekaitz: are they from Lilypond devs? If not: those are the ones who know how to test on Windows. <ArneBab>I have no Windows knowledge to speak of, but I do care about Guile working on Windows, because then I (and others) can ship games that work on Windows, too. <ArneBab>ACTION does more "you know more about this than me, could you have a look here" stuff these days than actual development … feels stumbling in an unpaid management role that someone needed to take up … <ArneBab>s/feels stumbling in/feels like stumbling into/ <janneke>ArneBab: nice, i'll have a look at the guix build --target=x86_64-w64-mingw build <ArneBab>Guile now only fails one test: equality on circular lists (timeout, likely because that would take infinite time) <ArneBab>(let ((a (list 1)) (b (list 1))) (set-cdr! a a)(set-cdr! b b)(equal? a b)) ;; instant infinite loop. <ekaitz>ArneBab: is that how it should be in scheme in general? <ekaitz>it is crazy how fast chez is btw <ArneBab>I don’t know whether it’s mandated. And yes, Chez is really fast.