<n2>Anyone hanging out on this channel instead of spend time with their families? :D <wleslie>I love the western assumption that everyone else only spends time with their families on holidays (: <n2>How did you imply that from what I said, though? <wleslie>it seems to be a common sentiment expressed to me; I work through the holidays because literally any other time would be better for spending time with the family <n2>I was wondering what kind of exercise would be good to understand the power of Lisp. <n2>Beginner's exercise, that is. <wleslie>if the best way to get to really know a city is to live and work in it; maybe you could start by scratching an itch? <n2>Yeahh, but I couldn't think of anything. <n2>NodeJS usually is enough for all my needs, so I really don't know. <n2>How to Design Programs seems to be a good read, found on Schemers.org. <n2>Oh, I know. Maybe I'll implement a game of Sokoban. <n2>Btw is Scheme "stateless" like Haskell? <n2>Or does it support non-constant variables? <wleslie>scheme has first-class state - pairs and vectors are mutable in guile scheme, for example. <mark_weaver>n2: scheme has good support for purely-functional style, and GNU Guix is almost entirely written in that style, but it also supports stateful programming. <n2>wleslie, mark_weaver: Gotcha, thanks. <n2>Btw I was thinking of installing Guix SD on my Raspberry Pi, but I'm not sure if it's possible. <wleslie>hydra is full of armhf builds, so I'd think so <davexunit>ACTION attempts to debug the sizeof issue in guile master <davexunit>ACTION finally got Sly working with guile master <civodul>davexunit: at work, a prof (who doesn't really hack all day long...) hacked up a small Mario-style game in SDL + C <civodul>i wonder how much work it would be to do that in Sly + Guile <davexunit>civodul: not too hard, I think. I'm curious how much functionality this prof's game had. <davexunit>I'm working on a game that has lots of moving objects, which in a purely functional world means a lot of allocation. I'd like to find some tricks for reducing allocation. <davexunit>like using persistent hashes for some things instead of structs <davexunit>once there's ~1000 objects on screen, the game runs at 60FPS but every 5 seconds or so drops to ~20 and stutters pretty hard while the GC runs <civodul>the game had basic functionality: you could move on the platform, jump, put bombs, etc. <davexunit>I imagine there's some decent way that I can use purely functional data structures without slamming the GC too hard <madsy>Is that build path broken? That is, the path taken if you don't have <sys/mman.h> ? <madsy>It happens when building libguile/loader.c <paroneayea>davexunit: if you figure out good techniques there, I'll be interested in hearing about it! ***micro`_ is now known as micro`
<rekado>davexunit: are you familiar with Okasaki's "Purely Functional Data Structures"? <davexunit>I need to try out wingo's functional hash implementation <davexunit>and see if that works out better than structs for me <davexunit>my game is a lot of changing a single struct field every frame: the position of the object. <davexunit>so it would be nice to have a structure that could share as much as possible with previous versions <davexunit>but on a typical update, only a field or two is being updated <davexunit>maybe it's neglible, but perhaps sharing that unchanged data would reduce GC pressure <civodul>maybe you could store position separately <civodul>and have a mapping from object to position, somehow <civodul>so that the "bigger" object would remain unchanged <davexunit>ACTION quietly makes a bug-fix release of guile-sdl2 ***karswell` is now known as karswell