src/Pure/RAW/overloading_smlnj.ML
changeset 62354 fdd6989cc8a0
parent 62341 a594429637fd
child 62355 00f7618a9f2b
equal deleted inserted replaced
62341:a594429637fd 62354:fdd6989cc8a0
     1 (*  Title:      Pure/RAW/overloading_smlnj.ML
       
     2     Author:     Makarius
       
     3 
       
     4 Overloading in SML/NJ (cf. smlnj/base/system/smlnj/init/pervasive.sml).
       
     5 *)
       
     6 
       
     7 Control.overloadKW := true;
       
     8 
       
     9 overload ~ : ('a -> 'a) as
       
    10   IntInf.~ and Int31.~ and Int32.~ and Int64.~ and
       
    11   Word.~ and Word8.~ and Word32.~ and Word64.~ and Real.~;
       
    12 overload + : ('a * 'a -> 'a) as
       
    13   IntInf.+ and Int31.+ and Int32.+ and Int64.+ and
       
    14   Word.+ and Word8.+ and Word32.+ and Word64.+ and Real.+;
       
    15 overload - : ('a * 'a -> 'a) as
       
    16   IntInf.- and Int31.- and Int32.- and Int64.- and
       
    17   Word.- and Word8.- and Word32.- and Word64.- and Real.-;
       
    18 overload * : ('a * 'a -> 'a) as
       
    19   IntInf.* and Int31.* and Int32.* and Int64.* and
       
    20   Word.* and Word8.* and Word32.* and Word64.* and Real.*;
       
    21 overload div: ('a * 'a -> 'a) as
       
    22   IntInf.div and Int31.div and Int32.div and Int64.div and
       
    23   Word.div and Word8.div and Word32.div and Word64.div;
       
    24 overload mod: ('a * 'a -> 'a) as
       
    25   IntInf.mod and Int31.mod and Int32.mod and Int64.mod and
       
    26   Word.mod and Word8.mod and Word32.mod and Word64.mod;
       
    27 overload < : ('a * 'a -> bool) as
       
    28   IntInf.< and Int31.< and Int32.< and Int64.< and Real.< and
       
    29   Word.< and Word8.< and Word32.< and Word64.< and Char.< and String.<;
       
    30 overload <= : ('a * 'a -> bool) as
       
    31   IntInf.<= and Int31.<= and Int32.<= and Int64.<= and Real.<= and
       
    32   Word.<= and Word8.<= and Word32.<= and Word64.<= and Char.<= and String.<=;
       
    33 overload > : ('a * 'a -> bool) as
       
    34   IntInf.> and Int31.> and Int32.> and Int64.> and Real.> and
       
    35   Word.> and Word8.> and Word32.> and Word64.> and Char.> and String.>;
       
    36 overload >= : ('a * 'a -> bool) as
       
    37   IntInf.>= and Int31.>= and Int32.>= and Int64.>= and Real.>= and
       
    38   Word.>= and Word8.>= and Word32.>= and Word64.>= and Char.>= and String.>=;
       
    39 overload abs: ('a -> 'a) as IntInf.abs and Int31.abs and Int32.abs and Int64.abs and Real.abs;
       
    40 
       
    41 Control.overloadKW := false;