Skip to content

Patterns : séparateur "ou"

Comme je suis dans la partie "pattern" des mux et Match, je réalise que , n'est, à l'heure actuelle, pas un délimiteur très pratique. On pourrait modifier un peu BaseExpr pour rendre ça plus pratique ; mais je m'interroge sur la clarté si on veut faire un peu comme Rust où on peut mettre des "ou" un peu où on veut.

Toutes les propositions ci-après représentent deux cas possibles: ERR(EXCEPTION) et ERR(INTERRUPT).

  • ERR(EXCEPTION), ERR(INTERRUPT) ->
  • ERR(EXCEPTION) | ERR(INTERRUPT) ->
  • ERR(EXCEPTION, INTERRUPT) ->
    On dirait que ERR contient deux champs. Ce n'est pas possible à l'heure actuelle mais ça pourrait l'être plus tard.
    En tout cas ce n'est pas clair.
  • ERR(EXCEPTION | INTERRUPT) ->
    On dirait que c'est un "bitwise or". Ça ne peut pas être le cas dans une expression de pattern.
    À la limite ça me dérange moins mais la question se pose tout de même.
  • ERR(EXCEPTION || INTERRUPT) ->
    Idem mais plus long.

🤔 On crée complètement notre langage alors on peut créer la syntaxe que l'on veut : des idées ?

(Au passage, pour écrire le parseur c'est plus facile d'utiliser un opérateur binaire (|, ||, etc.) qu'un séparateur , mais rien n'est impossible 😉)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information