# HG changeset patch # User wenzelm # Date 1186421743 -7200 # Node ID ebecbe4f53aea81bb8c7b4847448d8a57439e364 # Parent 409cd6eaa7eae5e37c68c3810c9dfa3c75aafe8a Overloading in SML/NJ. diff -r 409cd6eaa7ea -r ebecbe4f53ae src/Pure/ML-Systems/overloading_smlnj.ML --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Pure/ML-Systems/overloading_smlnj.ML Mon Aug 06 19:35:43 2007 +0200 @@ -0,0 +1,36 @@ +(* Title: Pure/ML-Systems/overloading-smlnj.ML + ID: $Id$ + Author: Makarius + +Overloading in SML/NJ (cf. smlnj/base/system/smlnj/init/pervasive.sml). +*) + +Control.overloadKW := true; + +overload ~ : ('a -> 'a) as + IntInf.~ and Int31.~ and Int32.~ and Int64.~ and Word8.~ and Word32.~ and Word64.~ and Real.~; +overload + : ('a * 'a -> 'a) as + IntInf.+ and Int31.+ and Int32.+ and Int64.+ and Word8.+ and Word32.+ and Word64.+ and Real.+; +overload - : ('a * 'a -> 'a) as + IntInf.- and Int31.- and Int32.- and Int64.- and Word8.- and Word32.- and Word64.- and Real.-; +overload * : ('a * 'a -> 'a) as + IntInf.* and Int31.* and Int32.* and Int64.* and Word8.* and Word32.* and Word64.* and Real.*; +overload div: ('a * 'a -> 'a) as + IntInf.div and Int31.div and Int32.div and Int64.div and Word8.div and Word32.div and Word64.div; +overload mod: ('a * 'a -> 'a) as + IntInf.mod and Int31.mod and Int32.mod and Int64.mod and Word8.mod and Word32.mod and Word64.mod; +overload < : ('a * 'a -> bool) as + IntInf.< and Int31.< and Int32.< and Int64.< and Word8.< and Word32.< and Word64.< and + Char.< and String.<; +overload <= : ('a * 'a -> bool) as + IntInf.<= and Int31.<= and Int32.<= and Int64.<= and Word8.<= and Word32.<= and Word64.<= and + Char.<= and String.<=; +overload > : ('a * 'a -> bool) as + IntInf.> and Int31.> and Int32.> and Int64.> and Word8.> and Word32.> and Word64.> and + Char.> and String.>; +overload >= : ('a * 'a -> bool) as + IntInf.>= and Int31.>= and Int32.>= and Int64.>= and Word8.>= and Word32.>= and Word64.>= and + Char.>= and String.>=; +overload abs: ('a -> 'a) as IntInf.abs and Int31.abs and Int32.abs and Int64.abs and Real.abs; + +Control.overloadKW := false;