I generally don't like using equality test on union types because that makes your code more prone to errors - later on you might decide to add / remove some types from union type.
On Friday, December 9, 2016 at 4:57:48 PM UTC+1, Nick H wrote: > > You can also do equality tests on type values, which means in your first > two cases you can use an if statement. > > if someValue == A then > stuff1 > else > stuff2 > > This only works if your type values aren't storing any data. > > On Fri, Dec 9, 2016 at 7:25 AM, Petr Huřťák <[email protected] > <javascript:>> wrote: > >> Hi, >> >> I would like hear some discussion on grouping of branches in `case of` >> statement . Currently it is not possible to use one branch for multiple >> conditions. >> >> Something along these lines: >> >> case someTypeValue of >> A -> >> -- code >> >> B -> >> C -> >> D -> >> -- different code >> >> >> Current alternative is this >> >> case someTypeValue of >> let >> stuff2 = >> -- code >> in >> A -> >> -- different code >> >> B -> >> stuff2 >> >> C -> >> stuff2 >> >> D -> >> stuff2 >> >> >> Which is unnecessarily verbose and harder to read. >> >> One question is how this would work when there in cases where matched >> patterns have some values attached to them >> >> case someTypeValue of >> A -> >> -- stuff1 >> >> >> B _ -> >> C _ _ -> >> D _ _ _ -> >> -- stuff2 >> >> How is this handled in other languages like OCaml or Haskell? >> >> NOTE: moved from >> https://groups.google.com/forum/#!topic/elm-dev/DtUT2ieYTDo >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Elm Discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
