On Friday, 24 August 2018 at 06:41:35 UTC, Jonathan Marler wrote:
Ever since I read
https://dlang.org/blog/2017/02/13/a-new-import-idiom/ I've very
much enjoyed using the new `from` template. It unlocks new
idioms in D and have been so useful that I thought it might be
a good addition to the core language. I've found that having
it in a different place in each project and always having to
remember to import it makes it much less ubiquitous for me.
One idea is we could add this template to `object.d`. This
would allow it to be used from any module that uses druntime
without having to import it first. The template itself is also
very friendly to "bloat" because it only has a single input
parameter which is just a string, extremely easy to memoize.
Also, unless it is instantiated, adding it to object.d will
have virtually no overhead (just a few AST nodes which would
dwarfed by what's already in object.d). It would also be very
easy to add, a single PR with 4 lines of code to druntime and
we're done.
Of course, if we don't want to encourage use of the `from`
template then this is not what we'd want. Does anyone have any
data/experience with from? All I know is my own usage so feel
free to chime in with yours.
One of the first things I do after a dub init is create a file
called internal.d with the from template in it. My only gripe
about this template is it's "autocompletion-able-ness" in IDEs
and if that can be handled.
I would not want it globally imported though, "from" is quite
popular as an identifier and D doesn't let you use keywords as
identifiers.
Cheers,
- Ali