3 ms·
This doc was updated 3 weeks ago? https://github.com/dart-lang/language/blob/main/working/macros/feature-specification.md https://github.com/dart-lang/language
by mathisfun123 3y ago
This doc was updated 3 weeks ago?
https://github.com/dart-lang/language/blob/main/working/macros/feature-specification.md https://github.com/dart-lang/language/blob/main/working/macr...
> This could've eliminated so much sickening codegen.
Also this is funny because what do you think static metaprogramming is if not codegen? Templates macros etc are all codegen. They're just codegen you can't see (or easily steer either).
- ac130kz 3y agoIt was really stuck at "in progress" for a looong time, and it's still in the working set, so it means that's going to take yet another 2-3 Dart releases and a few more to stabilize for production. > They're just codegen you can't see Yes, and that's exactly how it should have been in the first place. No need to run buggy services, no need to constantly juggle newly generated files.
- mathisfun123 3y agodo you understand that things that you can't see still need to be juggled? the problems don't magically go away just because you can't see the artifacts. what happens is you lose complete control over how they're juggled and you retain as much control as the compiler owner deigns to give you (see generic in Go). please see all the pain of working templates in C++.
- ac130kz 3y agoI do, I work with Rust templates and worked with C++ templates. Obviously, people aren't asking for such a granular level of metaprogramming.
- mathisfun123 3y ago> Obviously, people aren't asking for such a granular level of metaprogramming. that `Obviously` is doing a lot of work there but more so i'm saying going from codegen facilities to static metaprogramming is a step in the wrong direction if the static metaprogramming is at the cost of the codegen.
- vsmenon 3y ago[ I work on Dart ] We're still working on this, and you can find updates in the language repo. One reason we're taking extra time here is that macros / static metaprogramming can blow up compile times and hot reload.
- mathisfun123 3y agothat's fine - i'm not complaining i'm waiting patiently. keep going!