src/Pure/library.ML
changeset 17822 3830b0a41d51
parent 17819 1241e5d31d5b
child 17952 00eccd84608f
equal deleted inserted replaced
17821:daffb154f73e 17822:3830b0a41d51
   264   (*misc*)
   264   (*misc*)
   265   val partition_eq: ('a * 'a -> bool) -> 'a list -> 'a list list
   265   val partition_eq: ('a * 'a -> bool) -> 'a list -> 'a list list
   266   val partition_list: (int -> 'a -> bool) -> int -> int -> 'a list -> 'a list list
   266   val partition_list: (int -> 'a -> bool) -> int -> int -> 'a list -> 'a list list
   267   val gensym: string -> string
   267   val gensym: string -> string
   268   val scanwords: (string -> bool) -> string list -> string list
   268   val scanwords: (string -> bool) -> string list -> string list
   269   val string_of_pid: Posix.Process.pid -> string
       
   270   type stamp
   269   type stamp
   271   val stamp: unit -> stamp
   270   val stamp: unit -> stamp
   272   type serial
   271   type serial
   273   val serial: unit -> serial
   272   val serial: unit -> serial
   274   structure Object: sig type T end
   273   structure Object: sig type T end
  1283 
  1282 
  1284 fun gensym pre = pre ^ (#1(newid (!seedr), inc seedr));
  1283 fun gensym pre = pre ^ (#1(newid (!seedr), inc seedr));
  1285 
  1284 
  1286 end;
  1285 end;
  1287 
  1286 
  1288 (*Convert a process ID to a decimal string (chiefly for tracing)*)
       
  1289 fun string_of_pid pid = 
       
  1290     Word.fmt StringCvt.DEC (Word.fromLargeWord (Posix.Process.pidToWord pid));
       
  1291 
       
  1292 
  1287 
  1293 (* lexical scanning *)
  1288 (* lexical scanning *)
  1294 
  1289 
  1295 (*scan a list of characters into "words" composed of "letters" (recognized by
  1290 (*scan a list of characters into "words" composed of "letters" (recognized by
  1296   is_let) and separated by any number of non-"letters"*)
  1291   is_let) and separated by any number of non-"letters"*)