more operations (as in ML);
authorwenzelm
Tue, 11 Dec 2018 23:59:41 +0100
changeset 69450 b28b001e7ee8
parent 69449 b516fdf8005c
child 69451 387894c2fb2c
more operations (as in ML);
src/Pure/General/value.scala
--- a/src/Pure/General/value.scala	Tue Dec 11 21:23:02 2018 +0100
+++ b/src/Pure/General/value.scala	Tue Dec 11 23:59:41 2018 +0100
@@ -30,6 +30,12 @@
       catch { case _: NumberFormatException => None }
     def parse(s: java.lang.String): scala.Int =
       unapply(s) getOrElse error("Bad integer: " + quote(s))
+
+    def parse_nat(s: java.lang.String): scala.Int =
+      s match {
+        case Value.Int(n) if n >= 0 => n
+        case _ => error("Bad natural number: " + quote(s))
+      }
   }
 
   object Long