On Monday, 26 April 2021 at 13:17:49 UTC, FeepingCreature wrote:
On Sunday, 25 April 2021 at 21:27:55 UTC, sighoya wrote:
On Monday, 19 April 2021 at 06:37:03 UTC, FeepingCreature
wrote:
Native CTFE and macros are a beautiful thing though.
What did you mean with native?
When cx needs to execute a function at compiletime, it links it
into a shared object and loads it back with dlsym/dlopen. So
while you get a slower startup speed (until the cache is
filled), any further calls to a ctfe function run at native
performance.
Ah okay, but can't Dlang runtime functions not anyway called at
compile time with native performance too?
So generally, cx first parses the program, then filters out what
is a macro, then compiles all macro/ctfe functions into shared
lib and execute these macros from that lib?
Isn't it better to use the cx compiler as a service at compile
time and compile code in-memory in the executable segment (some
kind of jiting I think) in order to execute it then.
I think the cling repl does it like that.
And how does cx pass type objects?