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? <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... <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 <haugh>(map (lambda (p) (p 'lol)) (list +)) <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>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 <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?