Re: Silicon Valley D Meetup - April 15, 2021 - "Compile Time Function Execution (CTFE)"

2021-04-26 Thread sighoya via Digitalmars-d-announce

On Thursday, 15 April 2021 at 04:01:23 UTC, Ali Çehreli wrote:

We will talk about compile time function execution (CTFE).

Although this is announced on Meetup[1] as well, you can 
connect directly at


  
https://us04web.zoom.us/j/2248614462?pwd=VTl4OXNjVHNhUTJibms2NlVFS3lWZz09


April 15, 2021
Thursday
19:00 Pacific Time

Ali

[1] 
https://www.meetup.com/D-Lang-Silicon-Valley/events/kmqcvqyccgbtb/


What was the outcome of this meeting?


Re: Silicon Valley D Meetup - April 15, 2021 - "Compile Time Function Execution (CTFE)"

2021-04-26 Thread sighoya via Digitalmars-d-announce

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?





Re: Silicon Valley D Meetup - April 15, 2021 - "Compile Time Function Execution (CTFE)"

2021-04-26 Thread FeepingCreature via Digitalmars-d-announce

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. 
Plus, it means the macro is ABI compatible with the running 
compiler, so the compiler can pass objects back and forth without 
a glue layer.


Release D 2.096.1

2021-04-26 Thread Martin Nowak via Digitalmars-d-announce

Glad to announce D 2.096.1, ♥ to the 18 contributors.

http://dlang.org/download.html

This point release fixes a few issues over 2.096.1, see the 
changelog for more details.


http://dlang.org/changelog/2.096.1.html

-Martin