[Haskell-cafe] How to express a logic matrix clearly?
Nathan Bloomfield
nathan.bloomfield at automattic.com
Fri May 17 03:21:14 UTC 2019
This is a good opportunity to use case syntax. You can also case on tuples,
like this:
```
foo a b = case (a,b) of
(A1,B1) -> fun1
(A1,B2) -> fun2
(A1,B3) -> fun3
(A1,_) -> fun4 <- this is probably not necessary anymore, unless you
expect Rule2 to get more constructors.
(A2,B1) -> fun5
...
```
On Thu, May 16, 2019 at 10:14 PM Magicloud Magiclouds <
magicloud.magiclouds at gmail.com> 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.
--
Nathan Bloomfield
Code Wrangler, Team Absinthe
Automattic, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20190516/e69d5236/attachment.html>
More information about the Haskell-Cafe
mailing list