Oddbean new post about | logout
 @c65b183b @4c603b88 @462ebf4c most schemers are republicans, in the anti-monarchist sense :) but if the intended use case is global monkeypatching, then in guile `set!` is your tool.  if `a` is exported, then just `set!` on `a`.  if not, `(set! (@@ (X) a) new-val)` 
 @c39d2605 @4c603b88 @462ebf4c set! Won't affect `f` from `X` 
 @c65b183b @4c603b88 @462ebf4c depends :)  add #:declarative? #f to the define-module of X and see 
 @c39d2605 won't help :( 
 @c65b183b @c39d2605 @4c603b88 @462ebf4c 

So you want to update the closure of f? 
 @338f82ef @c39d2605 @4c603b88 @462ebf4c 

I'm not sure about this formulation. I want to update `x` from `(X)` "globally": in a way that everything from `(X)` that'd have `x` referenced would also update it to the new value.