On Wednesday, 21 November 2018 at 13:05:27 UTC, Nicholas Wilson
wrote:
On Wednesday, 21 November 2018 at 11:58:25 UTC, Vladimir
Panteleev wrote:
Have we tried disabling -unittest for modules that aren't on
the compiler's command line yet (or, in case of -i, not
excluded)?
Not that I know of, thats a great idea!
Maybe this hack could be developed further into a more generic
"compiler server" idea.
Wasn't that Robert's Masters thesis (Dconf 2013(?)
presentation)? ;)
The main problem with this, is the amount of context a compilers
needs.
And the current design of DMD does not lend itself splitting out
the context.
If you wanted you could consider the semantic pass of the
compiler as a database, which answers queries such as:
- which size does this type have.
- which arguments does this function have
- can the type A be casted to type B
- which conversion function should be invoked for (B)A ?
- is this function known to be pure?
The data-base containing this information needs to be maintained
on the compile-nodes, and that possibly leads to many
data-dependencies.
Which may degrade the performance of the "compiler server" to the
point where it is quicker to do it locally.
I am currently working (albeit very slowly due to lack of time
and focus) to enable programmers to circumvent slow parts in
compiler. When completed this should make a compiler-server
unnecessary for some time to come.