aspl-lang/aspl

aspl: add (inline) `if` expressions/a ternary operator

Open

#38 opened on Jul 16, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C (6 forks)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (30 stars)
PR merge metrics
 (PR metrics pending)

Description

Feature idea

There is currently no clean way to conditionally assign/select values inside a single expression in ASPL, leading to a lot of boilerplate code like temporary or wrongly-typed variables. See this code, which is taken from the ASPL compiler, for an example:

var string? mainOutFile = null
// ...
if(Options:targetOs == "android"){
    mainOutFile = tempFile
}else{
    // ...
    mainOutFile = exeFile
}

Possible solutions/implementations

An if expression, analogous to if statements, or a ternary operator, which is just a different notation for the same thing.

Alternatives considered

Match expressions (see #37) are the more general solution to this problem but also unnecessary clutter for just a simple binary condition, so additional if expressions are still worth it, imo.

Additional context

No response

Contributing guidelines

  • I agree to follow this project's contributing guidelines

Contributor guide