IRC channel logs
2025-06-03.log
back to list of logs
<gabber>for some reason running (dbi dbi) code randomly produces only <gabber>either one of these three messages. input to the code is pinned. <old>is it possible to make a definition in a syntax-case avaiable in the expand environment? <old>I mean, I know it's possible but is there a clean way of doing so <mwette>old: Is this not a case for eval-when ? <old>mwette: I guess. But I'm not sure how that would work within an expansion <mwette>If you (define foo (syntax-case x () ...)) inside an eval-when w/ expand etc I think you can use foo inside of define-syntax. <old>mwette: to express my problem better here. I have a syntax-transformer called `define-blue-class'. It's a wrapper around `define-class' <old>It does lots of stuffs including setting a #:metaclass a defining a syntax-transformer for building objects of that class <old>What I'm trying to do is to insert in that generated syntax-transformer, a slot checker so that you can not pass field that does not exist for the class nad its parents <old>So far I've manager to make it work, except if the parent class is in the same module as the child <old>and I figured that the best thing that could work for me, would be to have access to the type during the expansion <old>don't mind the eval-when, it's not working <old>I seem to manage doing so by doing: (eval (syntax->datum form) (current-module)) <old>this will define the goop class in the current module when doing expansion <old>not really pretty tho <old>If I could avoid that eval I would be happy <old>oh I did not knew you could pass to eval a syntax <pjmg>Hi! when using Guix Home on a foreign distro (if that matters), what is the way to upgrade the packages that are part of the home configuration? I'm thinking in `guix pull` and then `guix home reconfigure /path/to/config-file.scm/`, is that right? <ieure>pjmg, Yes. Same as Guix System. <ieure>`guix home reconfigure' makes a new home generation with the current versions (from `guix pull') of the packages in your home environment configuration. <mwette>old: I didn't dig into all of it, but I agree there should be a cleaner way. <old>mwette: Think about a type-system you want to make where user can define compound structure <old>you want to define these structures so that user can manipulate them at runtime <old>but you also want to define them during the expansion so you can do type-check during future expansion <old>for example, a user define a structure S. You want to calculate the sizeof of that structure at exapansion time so that you can then expand (sizeof S) to a literal in future expansion <old>that's pretty much what I want <old>mwette: in my case, it is an instanceof type <class>