Type subtraction also as nat->int->int and int->nat->int

This commit is contained in:
Tom Jack 2019-11-17 16:15:06 -06:00
parent adb4572bde
commit 49586b65be

View File

@ -318,9 +318,8 @@ module Typer = struct
| Some t -> ok t
let sub = typer_2 "SUB" @@ fun a b ->
if (eq_2 (a , b) (t_int ()))
then ok @@ t_int () else
if (eq_2 (a , b) (t_nat ()))
if (eq_1 a (t_int ()) || eq_1 a (t_nat ()))
&& (eq_1 b (t_int ()) || eq_1 b (t_nat ()))
then ok @@ t_int () else
if (eq_2 (a , b) (t_timestamp ()))
then ok @@ t_int () else