From 6bc24fdf834c16aff0c0dfdc148400ca905a60b7 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Thu, 9 Apr 2015 22:53:55 -0700 Subject: [PATCH] Fixup type of fx- fx- is not commutative. Output is always a fixnum. --- .../typed-racket/base-env/base-env-numeric.rkt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt index aa0773a6..aa269fd8 100644 --- a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt @@ -132,20 +132,17 @@ (define fx--type (lambda () (fx-from-cases - (binop -Zero) - (map (lambda (t) (commutative-binop t -Zero t)) - (list -One -PosByte -Byte -PosIndex -Index)) + (-> -Int -Zero -Fixnum : -true-filter : (-arg-path 0)) (-One -One . -> . -Zero) (-PosByte -One . -> . -Byte) (-PosIndex -One . -> . -Index) - (-PosFixnum -One . -> . -NonNegFixnum) (-PosInt -One . -> . -NonNegFixnum) (-NegInt -Nat . -> . -NegFixnum) (-NonPosInt -PosInt . -> . -NegFixnum) (-NonPosInt -Nat . -> . -NonPosFixnum) - (-PosInt -NonPosInt . -> . -PosInt) - (-Nat -NegInt . -> . -PosInt) - (-Nat -NonPosInt . -> . -Nat) + (-PosInt -NonPosInt . -> . -PosFixnum) + (-Nat -NegInt . -> . -PosFixnum) + (-Nat -NonPosInt . -> . -NonNegFixnum) (-Int -Int . -> . -Fixnum)))) (define fx*-type (lambda ()