IRC channel logs

2023-10-09.log

back to list of logs

<haugh>While the new exception system is quite powerful it seems to manifest some clunky patterns which maybe I just need a different perspective to understand. I've got three things to whine about; please consider this compound exception:
<haugh>(apply make-exception (make-exception-with-message "msg") (map make-exception-with-irritants (iota 3)))
<haugh>First, make-exception doesn't flatten the multiple irritants into one &irritants and (exception-irritants it) returns only the first.
<haugh>Second, the compound exceptions don't have any destructuring mechanisms, so if I want to take apart something that has "bubbled up" through multiple handlers, I'm back to list processing and/or pattern matching records, which is awkward since there's no delimitation between the different layers.
<haugh>Third, as far as I can tell, there's no way to decide /at error handling time/ whether to unwind the stack or not. Am I wrong? Is it considered unnecessary or is just too complex/specific to pre-bake?
<haugh>I appreciate any thoughts
<graywolf>Hm, how can I invoke a meta command using a code? Let's assume I have a ,build meta command, and I would like to use it in (for-each ...), is that possible?
<spk121>dthompson: is guile-opengl a hard requirement for chickadee? can I skip it if I just want to use SDL2 primitives?
<spk121>also, the configure test that bails on mkdtemp. Looks like that's just for bundle, right? I can skip that if I don't bundle.
<spk121>trying to get a win32 chickadee running working for game jam...
<sneek>wb chrislck
<chrislck>sneek: botsnack
<sneek>:)
<chrislck>not sure if wingo would remember, there's a PR pending for full guile cli access to gnucash api at https://github.com/Gnucash/gnucash/pull/1794 -- users will be able to write scripts to work on their datafile without needing GUI interaction
<chrislck>*remember that originally iiuc gnucash was a guile script
<lilyp>spk121: I think code-wise you should be able to split off the opengl parts, but not sure if the build system supports doing so
<sneek>Yey! chrislck is back :)
<haugh>(+ 'lol)
<haugh>((lambda (p) (p 'lol)) +)
<haugh>(map (lambda (p) (p 'lol)) (list +))
<rekado>(+ +)
<rekado>is + just identity?
<rekado>,opt (+ 'lol)
<rekado>$26 = 'lol
<civodul>d’oh!
<civodul>JS has had such an influence
<ft>For one argument (+ x) == x which is the same observable behaviour as identity. In a statically typed language this wouldn't fly. :)
<old>anybody manager to enable paredit in Geiser buffer?
<old>I have this in my config: (add-hook 'geiser-mode-hook (lambda _ (paredit-mode 1)))
<old>that did not work
<old>hmm nvm, i is geiser-repl-mode-hook I need
<janneke>rekado: interesting, mes throws 'not-a-number :)
<janneke>guess that decreses compatibility with guile
<janneke>*decreases
<sneek>dsmith: Greetings
<dsmith>sneek, botsnack
<sneek>:)
<lilyp>and people complain about UB in C :)
<rekado>I have come to dislike the way I use the Guile web server.
<rekado>a common pattern I follow is to define a controller with MATCH that acts on the HTTP method and the path components of the request
<rekado>every route is defined as a match clause
<rekado>this always starts out neat and quickly grows into a big mess.
<rekado>it gets even uglier with early returns in case of errors and authentication
<rekado>what pattern for defining routes for a web application would you use over MATCH?
<ekaitz>hi! is there any easy way to `write` scheme code with a readable format, being readable indented and multiline?
<haugh>rekado, even with escape conts?
<haugh>ekaitz, does pretty-print work for you?
<ekaitz>haugh: yeah! it does! thanks