Post #2352666
2026-05-06 19:55 UTC
Replies (1)
-
@kasdeya@cryptid.cafe 2026-05-06 19:59
omg wait this also means that macros would have access to every single namespace (that is visible from within the T-expression that they’re being called inside of) if they wanted that access! that’s actually really cool - macros could redefine whatever variable they wanted, at whatever level of scope they wanted. obviously that’s an extremely dangerous thing to be able to do, but it makes macros even more powerful than in most Lisps. I’m all for giving people as much power as possible, even if it’s dangerous, and trusting them to not break anything the reason why that would work is because I want to create a special variable for accessing parent namespaces (which unfortunately will require a small amount of magic): [variable 666] (let ([variable 667]) (let ([variable 668]) (print variable) ; -> 668 (print _P.variable) ; -> 667 (print _P._P.variable))) ; -> 666