src/Pure/library.ML
changeset 25061 250e1da3204b
parent 25058 d8d8bac48031
child 25224 6d4d26e878f4
     1.1 --- a/src/Pure/library.ML	Tue Oct 16 19:45:57 2007 +0200
     1.2 +++ b/src/Pure/library.ML	Tue Oct 16 23:12:38 2007 +0200
     1.3 @@ -71,6 +71,7 @@
     1.4    val single: 'a -> 'a list
     1.5    val the_single: 'a list -> 'a
     1.6    val singleton: ('a list -> 'b list) -> 'a -> 'b
     1.7 +  val yield_singleton: ('a list -> 'c -> 'b list * 'c) -> 'a -> 'c -> 'b * 'c
     1.8    val apply: ('a -> 'a) list -> 'a -> 'a
     1.9    val perhaps_apply: ('a -> 'a option) list -> 'a -> 'a option
    1.10    val perhaps_loop: ('a -> 'a option) -> 'a -> 'a option
    1.11 @@ -356,6 +357,8 @@
    1.12  
    1.13  fun singleton f x = the_single (f [x]);
    1.14  
    1.15 +fun yield_singleton f x = f [x] #>> the_single;
    1.16 +
    1.17  fun apply [] x = x
    1.18    | apply (f :: fs) x = apply fs (f x);
    1.19