IRC channel logs

2021-10-15.log

back to list of logs

***modula is now known as defaultxr
<tohoyn>sneek, botsnack
<sneek>:)
<dsmith-work>Happy Friday, Guilers!!
<tricon_>Happy Friday, dsmith-work
<robin>lilyp, oh, whoops, i meant make-local-variable, not make-variable-buffer-local which makes it "globally buffer-local". but yeah, as RhodiumToad says the problem is that the set of BLVs is unknown at compile time. i think there's a workaround, just not a completely trivial one
<robin>lilyp, also guile-elisp might need to use some kind of custom fluid to mark whether a BLV has actually been set (it currently just checks for in-eq?-uality iirc)
<lilyp>hmm, but for lexically scoped elisp the latter shouldn't matter, no?
<robin>also also, guile fluids are basically just indices into an array, which is fine when fluids are rarely used, but that's quite expensive for elisp where lexical binding still isn't the default (last time i checked the fluids implementation, anyway)
<robin>yeah, i'd have to think about it but intuitively i'd think lexical scoping would avoid the problem
<robin>(well, to be clear, it probably doesn't *need* to use custom fluids since nothing requires elisp to use regular fluids, i just suspect it might be a perf issue to hack around it)
<robin>ah, it looks like the fluids implementation *has* changed since i last read it (maybe due to thread-local fluids?), still might be slow for elisp
<robin>"Ideally the values table could share more state, as in an immutable weak array-mapped hash trie or something, but we don't have such a data structure." ...yet ;) (fluids.c comment)
***tricon_ is now known as tricon
<dsmith-work>!uptime
<sneek>I've been running for 3 days
<sneek>This system has been up 12 weeks, 2 days, 5 hours, 3 minutes
<dsmith-work>goodbot
<stis>o/