aspl-lang/aspl

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

Ouverte

#38 ouverte le 16 juil. 2026

 (0 commentaire) (0 réaction) (0 personne assignée)C (6 forks)auto 404
enhancementhelp wanted

Métriques du dépôt

Stars
 (30 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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

Guide contributeur