aspl-lang/aspl

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

Aberta

#38 aberto em 16 de jul. de 2026

 (0 comentário) (0 reação) (0 responsável)C (6 forks)auto 404
enhancementhelp wanted

Métricas do repositório

Stars
 (30 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

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

Guia do colaborador