Comment by yawaramin
3 months ago
I'm confused about something. According to https://www.haskell.org/ghc/ version 9.10.3 was released on 2025-09-10. How is there a version 9.12.1 listed for the or-patterns feature? Are these versions for different things?
They're versions of the same thing, and 9.12.1 was chronologically before 9.10.3. It looks like you can find the entire chronology at https://www.haskell.org/ghc/blog.html
OK, side note, whoever decides the GHC release numbers should be pulled aside and given a quick talk about how version numbers are supposed to work.
Anyway, looks like or-patterns just landed as a GHC extension:
I still like OCaml's (built-in) syntax better:
Which I feel stems from its elegant decision to use the pipe character as the 'alternative pattern prefix':
> whoever decides the GHC release numbers should be pulled aside and given a quick talk about how version numbers are supposed to work.
9.10.3 is a patch for the 9.10 version which was published after 9.12.1 but relates to an older version. Haskell keeps maintaining multiple versions of the toolchain.
That release numbering is pretty common for programming languages. People are still using older supported versions, which still get incremental upgrades. Other languages that do this include Python, Java, Go, Node.js, Ruby, PHP, C#.
> whoever decides the GHC release numbers should be pulled aside and given a quick talk about how version numbers are supposed to work
How is that?