src/Pure/library.ML
changeset 4629 401dd9b1b548
parent 4621 79e6a11ba8a9
child 4630 437ddddbfef5
equal deleted inserted replaced
4628:0c7e97836e3c 4629:401dd9b1b548
    67   exception LIST of string
    67   exception LIST of string
    68   val null: 'a list -> bool
    68   val null: 'a list -> bool
    69   val hd: 'a list -> 'a
    69   val hd: 'a list -> 'a
    70   val tl: 'a list -> 'a list
    70   val tl: 'a list -> 'a list
    71   val cons: 'a -> 'a list -> 'a list
    71   val cons: 'a -> 'a list -> 'a list
       
    72   val append: 'a list -> 'a list -> 'a list
    72   val foldl: ('a * 'b -> 'a) -> 'a * 'b list -> 'a
    73   val foldl: ('a * 'b -> 'a) -> 'a * 'b list -> 'a
    73   val foldr: ('a * 'b -> 'b) -> 'a list * 'b -> 'b
    74   val foldr: ('a * 'b -> 'b) -> 'a list * 'b -> 'b
    74   val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a
    75   val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a
    75   val length: 'a list -> int
    76   val length: 'a list -> int
    76   val take: int * 'a list -> 'a list
    77   val take: int * 'a list -> 'a list
   380 fun tl [] = raise LIST "tl"
   381 fun tl [] = raise LIST "tl"
   381   | tl (_ :: xs) = xs;
   382   | tl (_ :: xs) = xs;
   382 
   383 
   383 fun cons x xs = x :: xs;
   384 fun cons x xs = x :: xs;
   384 
   385 
       
   386 fun append xs ys = xs @ ys;
       
   387 
   385 
   388 
   386 (* fold *)
   389 (* fold *)
   387 
   390 
   388 (*the following versions of fold are designed to fit nicely with infixes*)
   391 (*the following versions of fold are designed to fit nicely with infixes*)
   389 
   392