[Haskell-cafe] How to express a logic matrix clearly?

Vanessa McHale vanessa.mchale at iohk.io
Fri May 17 03:24:59 UTC 2019


For one, you should pattern match rather than using nested ifs, viz.

foo A1 B1 = fun1

Using a case statement on tuples is not necessary.

On 5/17/19 3:12 AM, Magicloud Magiclouds wrote:
> Hi,
> I have trouble describing this clearly. Let me show code directly.
>
> data Rule1 = A1 | A2 | A3
> data Rule2 = B1 | B2 | B3
>
> foo a b =
>   if a == A1
>     then if b == B1
>       then fun1
>       else if b == B2
>         then fun2
>         else if b == B3
>           then fun3
>           else fun4
> ...
>
> Basically, Rule1 and Rule2 compose a matrix, for each case of Rule1
> and Rule2, I need to do different things. Above is already long and
> not quite clear, and it is far from complete.
>
> So my question is, is there a way/lib that I can make this clear to
> read/understand?
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.


More information about the Haskell-Cafe mailing list