-
Notifications
You must be signed in to change notification settings - Fork 24
Fixes for julia 1.0 #21
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
Conversation
* REQUIRE -> Project.toml * Updates to various deprecated functions * Use stdlib Test for tests
* Completely redo and vastly simplify how macro escaping works for @ lisp_str and codegen. The entire expression is now escaped, and we defer scoping decisions (in, eg, let) to the julia compiler. For the few cases where functions from LispSyntax itself need to be called, they are now unescaped by splicing into the generated AST as function references rather than symbols. * Fix various Exprs where the form has changed between julia 0.4 or so and julia 1.0 (let, using; maybe a couple more) * map over Set and Dict no longer works. Replace that with the use of generators.
|
I also bumped the version to 0.2.0. Could be 1.0.0 though, if you think that's appropriate. |
|
Tests pass on all of 1.0, 1.1 and 1.2 on macOS + linux. That's a lot of nice green ticks. |
|
hey, this is awesome. Thanks for doing all this hard work. I haven't had the time to update to 1.0. |
|
@c42f If you're interesting taking over this project too, let me know... As with LispREPL, I have limited time in the coming year. |
|
Thanks, I'll think about it. For context, this is all related to the discussion going on over at JuliaLang/julia#32201 (hence me spamming Jeff above). I'm actually not sure LispSyntax.jl is exactly what we need there, but it's certainly related and it seemed like a cool project so I thought I'd modernize it. Feel free to give me commit access and I'll prepare a release if you like (0.2.0 or 1.0.0 - your thoughts?) I don't want to promise to maintain this quite yet; my focus is on making something which works for use in those Base tests. |
|
probably 0.2.0 given that there's still quite a bit of unimplemented features. Commit access is yours :) |
|
Thanks. The new package registration process needs Registrator (and optionally TagBot) to be installed. If you don't have them installed already could you add registrator to this repo please: |
|
done. |
Various tweaks:
Testfor testing. Most of the churn in the test cases is restricted to the first commit - view the commits separately to make this easier to review.The bigger fix here is to update codegen for julia 1.0:
@lisp_strand codegen. The entire expression is now escaped, and we defer scoping decisions (mainly in let) to the julia compiler. For the few cases where functions from LispSyntax itself need to be called, they are now unescaped by splicing into the generated AST as function references rather than symbols.Fixes #19 by obsoleting it.
@JeffBezanson happy Friday :-)