home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / Moscow ML 1.42 / lib / NJ93.sig < prev    next >
Encoding:
Text File  |  1997-08-18  |  2.4 KB  |  88 lines  |  [TEXT/Moml]

  1. (* NJ93 -- compatibility with those SML/NJ 0.93 basis structures
  2.    which were open in the initial environment. 
  3.  
  4.    Note that SML/NJ 0.93 `print' is overloaded at bool, int, real, and
  5.    string, whereas the new `print' has type string -> unit.  
  6.  
  7.    In addition, Moscow ML provides the overloaded function 
  8.    printVal : 'a -> 'a at top-level for debugging.  
  9. *)
  10.  
  11. val print : string -> unit
  12.  
  13. (* NJ93 Integer *)
  14.  
  15. val max : int * int -> int
  16. val min : int * int -> int
  17.  
  18. (* NJ93 List *)
  19.  
  20. exception Hd and Tl and Nth and NthTail
  21.  
  22. val hd      : 'a list -> 'a             (* Hd *)
  23. val tl      : 'a list -> 'a list        (* Tl *)
  24. val nth     : 'a list * int -> 'a       (* Nth *)
  25. val nthtail : 'a list * int -> 'a list  (* NthTail *)
  26. val app     : ('a -> 'b) -> 'a list -> unit
  27. val revapp : ('a -> 'b) -> 'a list -> unit
  28. val fold    : ('a * 'b -> 'b) -> 'a list -> 'b -> 'b
  29. val revfold : ('a * 'b -> 'b) -> 'a list -> 'b -> 'b
  30.  
  31. (* NJ93 Real *)
  32.  
  33. val ceiling  : real -> int
  34. val truncate : real -> int 
  35.  
  36. (* NJ93 Ref *)
  37.  
  38. val inc : int ref -> unit
  39. val dec : int ref -> unit
  40.  
  41. (* NJ93 String *)
  42.  
  43. exception Substring;
  44.  
  45. val ordof     : string * int -> int
  46. val ord       : string -> int                   (* Ord *)
  47. val chr       : int -> string                   (* Chr *)
  48. val substring : string * int * int -> string    (* Substring *)
  49. val explode   : string -> string list
  50. val implode   : string list -> string
  51.  
  52. (* NJ93 top-level math functions *)
  53.  
  54. val sqrt : real -> real
  55. val sin : real -> real
  56. val cos : real -> real
  57. val arctan : real -> real
  58. val exp : real -> real
  59. val ln  : real -> real
  60.  
  61. (* NJ93 top-level input/output, standard *)
  62.  
  63. type instream and outstream;
  64.  
  65. val std_in        : instream;
  66. val open_in       : string -> instream;
  67. val input         : instream * int -> string;
  68. val lookahead     : instream -> string;
  69. val close_in      : instream -> unit;
  70. val end_of_stream : instream -> bool;
  71.  
  72. val std_out       : outstream;
  73. val open_out      : string -> outstream;
  74. val output        : outstream * string -> unit;
  75. val close_out     : outstream -> unit;
  76.  
  77. (* NJ93 top-level input/output, non-standard *)
  78.  
  79. val open_in_bin   : string -> instream;
  80. val open_out_bin  : string -> outstream;
  81. val inputc        : instream -> int -> string;
  82. val std_err       : outstream;
  83. val outputc       : outstream -> string -> unit;
  84. val flush_out     : outstream -> unit;
  85. val input_line    : instream -> string;
  86. val can_input     : instream * int -> bool;
  87. val open_append   : string -> outstream;
  88.