IRC channel logs
2023-11-09.log
back to list of logs
<apteryx>I'm still hunting for where in the compilation process embedding the source file name of the compiled source in the bytecode .go happens, in case someone knows <apteryx>that's the only thing I need to understand to complete a fix for bug #66046 <apteryx>seems to be the job of the assembler to create the metadata sections <apteryx>which I assume contain the source file link <apteryx>maybe, the sources field of the <asm> record <apteryx>I think it just get the source file names from the source properties attached to each expressions compiled <apteryx>that were annotated by the read-syntax reader of the scheme compiler <apteryx>oof. I don't think my current strategy is sane in this case. I thought the source file name was a single value put in a single bytecode file header, but it appears it's attached to every expression compiled, as source properties <apteryx>and it's probably a bad idea to mess with these just to fix a corner case of include <apteryx>how about having include automatically fallback to include-from-path when the included file couldn't be found? <apteryx>that'd fix bug #66046... on the other hand I don't think any 'include' implementation out there does that <apteryx>(but then I haven't seen other Scheme implementation mutate a port name to have the correct load path foundable names in the build artifacts, so maybe it makes sense for Guile) <apteryx>nah, that's bad, as the file name needs adjustment <apteryx>hm. my last idea is to hack define-library to accept include-from-path as well as include <apteryx>not nice as it breaks portability... <Kolev>How do I get haunt to put the site at /foo/ instead of /? <skeemer>hello everyone was wondering if guile with geiser has the same level of interactivity i have with common lisp and slime <skeemer>or more in general if guile allows the same level of interaction which generally is publicized with common lisp <mwette>apteryx: look at system/vm/assembler.scm, line 2944 <apteryx>skeemer: I haven`t used common list so you`ll have to expound a bit on your expectations <dsmith>skeemer, It's not as feature full. But it's pretty good. Guile doesn't have all the features of CL, so there will be differnces <apteryx>I'm relatively confused as to what happens in terms of order of evaluations when using compile-file and include <apteryx>should it be possible to set some parameter value at compile-file invocation time, and have that honored by the logic expound in the include macro? <dsmith>Well, include is basically a source code text insertion at that point <apteryx>but the compile-file call would happen as the first thing, before the source with the include syntax is loaded, so it should in theory be possible? <dsmith>Much like C #include, except it can be inside a scope (iirc) <apteryx>dsmith: yep, the problem I've been try6g to solve for days is that include breaks in a corner case: using compile-file with #:canonical 'relative (the default) on a source that 'include' a relative file name. <apteryx>include gets the information of the parent dir from the source properties of the syntax of its parent expresion (IIUC), and this is modified by the #:canonical 'relative thing, which causes the port file name to be rewritten in a way that it can be found on the load path <apteryx>one of the first things I've tried was setting a parameter *somewhere*, e.g. in compile-file, to keep the original untouched file name, and have include use its value <apteryx>instead of the (port-filename port) it does <apteryx>maybe I'd have to define my parameter in psyntax.scm, but there is no support for parameters at that point I tInk <apteryx>most of the time compiling the change fails with: "Pre-boot error; key: unbound-variable, args: (#f "Unbound variable: ~S" (compilation-source-file-name) #f)" though <Kolev>Using Haunt, how do I change the site root to /foo/?