On Thursday, 3 May 2018 at 23:09:34 UTC, Timothee Cour wrote:
nim supports static if (`when`) + CTFE. A simple google search or searching
would've revealed that.

On Thu, May 3, 2018 at 3:20 PM Mark via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

On Thursday, 3 May 2018 at 20:57:16 UTC, Dennis wrote:
> On Thursday, 3 May 2018 at 19:11:05 UTC, Mark wrote:
>> Funnily, none of these languages have a "static if" >> construct, nor do Rust, Swift and Nim. Not one that I could >> find, anyway.
>
> What qualifies under "static if"? Because Rust, Swift and > Nim do have conditional compilation.
>
https://doc.rust-lang.org/book/first-edition/conditional-compilation.html
>
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html
 (conditional compilation blocks)
>
https://nim-lang.org/docs/manual.html#statements-and-expressions-when-statement

Fair enough. I should have written "static if + CTFE".

The little information on the official site describes `when` more like #ifdef in C than an actual static if. I also went over a few dozens of modules in the standard library and the statement seems to be rarely used, and when it does it's usually in an #ifdef-ish context (like platform specific code).

Perhaps Nim's support for conditional compilation is as powerful as D's is, but you can see why my impression is currently to the contrary.

Reply via email to