IRC channel logs
2024-08-03.log
back to list of logs
<Xeroine>Hi, how come the 1st macro here https://bpa.st/KCNQ matches the `(defun f (a b))`? I tried to figure out what `expr` gets set to in the macro but it looks like it just expands to nothing at all. The 2nd macro does what I'd expect the 1st macro to do and just doesn't match if there's nothing after `args`. <Xeroine>I guess the ellipsis is kind of tied to the `expr` in the pattern so that's why it also becomes optional and a second `expr*` is required? <haugh>Xeroine, the ellipses means "zero or more". In your first example, `expr ...` expands to nothing, which is why you get a bad lambda expression; no body. Your second example requires at least three arguments. <haugh>This won't help you with the expansion errors but you can view expansions with the ,expand REPL command, as in ,exp(defun f (a b)) <Arsen>seems that guile-reader fails to build with gcc-14 and guile 3.0 <Arsen>it also seems to break apart with make --shuffle <Arsen>guilke-reader also appears to not support multi-slot installation <leah2>ArneBab: does packaging wisp even make sense if it's included in guile now? <ArneBab>leah2: I think I should define the part of wisp as package that’s useful as addition to guile 3.0.10+ — that mainly includes wisp2lisp (converting to regular Scheme). <ArneBab>I’d love to do that, yes. But it’s much worse code than the part that’s in Guile, because it uses string manipulation instead of the Guile reader (this preserves the comments). <ArneBab>leah2: another part is the wisp binary — launcher for wisp. This needs to be adjusted to work with (language wisp) as shipped in Guile. <ArneBab>(binary is the wrong word. It’s a small shell script that execs Guile) <rlb>I was looking at a bug reported in (basename ...), and wondered what the behavior of ours is supposed to be. (Currently, it only partially follows posix -- didn't know if that was intentional, or incidental.) <rlb>e.g. POSIX would have (basename "") return ".". <rlb>Ahh, looks like we just follow gnulib last_component(), not basename().