src/Pure/library.ML
changeset 4181 fcc8b47e4c49
parent 4139 e1659fd7a221
child 4188 1025a27b08f9
--- a/src/Pure/library.ML	Thu Nov 06 12:27:12 1997 +0100
+++ b/src/Pure/library.ML	Thu Nov 06 16:40:45 1997 +0100
@@ -79,8 +79,8 @@
   | merge_opts merge (Some x, Some y) = Some (merge (x, y));
 
 (*handle partial functions*)
+fun can f x = (f x; true) handle _ => false;
 fun try f x = Some (f x) handle _ => None;
-fun can f x = is_some (try f x);
 
 
 
@@ -204,7 +204,7 @@
 (*  (op @) [x1, ..., xn]  ===>   x1 @ (x2 ... @ (x[n-1] @ xn))
     for n > 0, operators that associate to the right (not tail recursive)*)
 fun foldr1 f l =
-  let fun itr [x] = x                       (* FIXME [] case: elim warn (?) *)
+  let fun itr [x] = x
         | itr (x::l) = f(x, itr l)
   in  itr l  end;