Skip to content

Preprocessor Directives: #elif missing #17282

@Thorium

Description

@Thorium

F# seems to have #elif preprocessor directive / pragma missing:
https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-directives#preprocessor-directives

C# has it:
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives#conditional-compilation

I know it's not good practice to use lot of these, I'm not trying to do a templating engine, I would just like to do a simple switch like this:

[<Literal>]
let myPath =
#if WIN64
  "/library/x64/runtime.dll"
#elif WIN86
  "/library/x86/runtime.dll"
#elif MAC
  "/library/iOS/runtime-osx.dll"
#else
  "/library/unix/runtime.dll"
#endif

The current workaround:

[<Literal>]
let myPath =
#if WIN64
  "/library/x64/runtime.dll"
#endif 
#if WIN86
  "/library/x86/runtime.dll"
#endif 
#if MAC
  "/library/iOS/runtime-osx.dll"
#endif 
#if !WIN64 && !WIN86 && !MAC
  "/library/unix/runtime.dll"
#endif

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions