I have a beginner question about pattern matching.

I'm trying to learn Elm from OCaml. playing around with math expressions.

How would I pattern match against any Expression x in the example below?


type Expression 
  = Const Int
  | Mul (Expression Expression)
  
  
calculate : Expression -> Expression  

calculate expr =
  case expr of 
    Mul(Const 1 ,* x*) -> *x*
    Mul(*x*, Const 1 ) -> *x*
    _ -> expr 


I get a bunch of these errors, :
-- TYPE MISMATCH 
--------------------------------------------------------------- This tuple 
is causing problems in this pattern match. 13| Mul(x, Const 1 ) -> x 
^^^^^^^^^^^^^ The pattern matches things of type: ( a, b ) But the values 
it will actually be trying to match are: Expression Expression

-- 
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.

Reply via email to