Is it possible to disable compile-context-preservation-enabled when compiling racket from git head?
sorry, *enable
Is adding --disable-inline to raco arguments in in-place-setup enough?
@shu—hung I don’t think raco setup supports --disable-inline. If you’re wiling to change code, you could add the init_param(cells, paramz, MZCONFIG_DISALLOW_INLINE, scheme_true); around https://github.com/racket/racket/blob/master/racket/src/racket/src/thread.c#L7874 to change the built-in default.
@mflatt: aha, thanks!!
I’m interested in going further with my embedding of André van Tonder’s macro system in Racket, but reimplementing syntax / quasisyntax seems fairly complicated for little gain (I just need to swap out Racket’s quote-syntax for my own quote-syntax). Pattern variables are straightforward, but ellipses make things suddenly a lot harder. Is there any way I could re-use some of the existing syntax and quasisyntax implementations without copying them and modifying the source code?
I suppose I could local-expand something using syntax, then recursively walk the resulting syntax object and replace quote-syntax with my own, but that is pretty icky, and I don’t think it would work for quasisyntax (though I could probably do a preprocessing step, collect all the expressions under unquote, and lift them into let bindings before calling local-expand).