src/Pure/library.ML
changeset 24846 d8ff870a11ff
parent 24630 351a308ab58d
child 24864 f33ff5fc1f7e
     1.1 --- a/src/Pure/library.ML	Thu Oct 04 19:54:46 2007 +0200
     1.2 +++ b/src/Pure/library.ML	Thu Oct 04 19:54:47 2007 +0200
     1.3 @@ -84,6 +84,7 @@
     1.4    val dropwhile: ('a -> bool) -> 'a list -> 'a list
     1.5    val nth: 'a list -> int -> 'a
     1.6    val nth_map: int -> ('a -> 'a) -> 'a list -> 'a list
     1.7 +  val nth_drop: int -> 'a list -> 'a list
     1.8    val nth_list: 'a list list -> int -> 'a list
     1.9    val map_index: (int * 'a -> 'b) -> 'a list -> 'b list
    1.10    val fold_index: (int * 'a -> 'b -> 'b) -> 'a list -> 'b -> 'b
    1.11 @@ -433,6 +434,9 @@
    1.12    | nth_map n f (x :: xs) = x :: nth_map (n - 1) f xs
    1.13    | nth_map (_: int) _ [] = raise Subscript;
    1.14  
    1.15 +fun nth_drop n xs =
    1.16 +  List.take (xs, n) @ List.drop (xs, n + 1);
    1.17 +
    1.18  fun map_index f =
    1.19    let
    1.20      fun mapp (_: int) [] = []