Thanks Duane!  Much appreciated.

On Saturday, March 25, 2017 at 8:50:43 PM UTC-7, Duane Johnson wrote:
>
> Hi Tim, I think the comma might be what's tripping up the pattern matching:
>
> type Expression = Const Int | Mul Expression Expression
> calculate expr = case expr of
>    Mul (Const 1) x -> x
>    Mul x (Const 1) -> x
>    _ -> expr
>
>
> On Sat, Mar 25, 2017 at 5:43 PM, Tim Elliot <[email protected] 
> <javascript:>> wrote:
>
>> 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] <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.

Reply via email to