Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile-time error due to use of 3D syntax in debug-repl #10

Open
lexi-lambda opened this issue Jan 9, 2017 · 3 comments
Open

Compile-time error due to use of 3D syntax in debug-repl #10

lexi-lambda opened this issue Jan 9, 2017 · 3 comments

Comments

@lexi-lambda
Copy link

Compiling debug currently fails due to the use of 3D syntax in debug/repl.rkt. I see the purpose of this, and it does appear to work as long as the code isn’t compiled, but it causes raco setup errors, which is annoying. I’m not totally sure how to work around it, though, since this sort of intentionally passes a value between phase levels in a way that the compiler can’t understand.

@AlexKnauth
Copy link
Owner

Yes. I am trying to preserve macro transformer values so I can use them at run-time in a Repl. My current solution works in situations where I run and compile at the same time in DrRacket, but I need a better solution that also works when the code is compiled.

@lexi-lambda
Copy link
Author

I’m not sure that it’s (currently) possible. Plus, as you mentioned in the commit message, it only works in simple cases where macros do not use other macros. This seems like something that might need support from the compiler or the expander? It would be useful to have a robust solution for this that works in 100% of cases; this sort of feature is extremely useful for debugging. Ruby’s pry library provides a binding.pry that does the same thing (opens a REPL at the location at runtime), and it provides one of the nicest debugging workflows I’ve ever used.

@AlexKnauth
Copy link
Owner

I've split those tests into a separate file which I can add to compile-omit-paths. When I do this it compiles and runs at the same time so the tests pass. This is not a solution, but it means the docs can build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants