]> gitweb.factorcode.org Git - factor.git/commitdiff
use ERROR: in several places instead of throwing strings
authorDoug Coleman <doug.coleman@gmail.com>
Wed, 12 Aug 2009 04:09:02 +0000 (23:09 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Wed, 12 Aug 2009 04:09:02 +0000 (23:09 -0500)
core/classes/algebra/algebra.factor
core/effects/parser/parser.factor
core/generic/single/single.factor
core/math/math.factor
core/sequences/sequences.factor

index 6bfc94d79a8a390dcfcd5b9762742c91be0d6074..df4f8f2563033899a221203021061625a98c4930 100755 (executable)
@@ -202,9 +202,11 @@ M: anonymous-complement (classes-intersect?)
 : class= ( first second -- ? )\r
     [ class<= ] [ swap class<= ] 2bi and ;\r
 \r
+ERROR: topological-sort-failed ;\r
+\r
 : largest-class ( seq -- n elt )\r
     dup [ [ class< ] with any? not ] curry find-last\r
-    [ "Topological sort failed" throw ] unless* ;\r
+    [ topological-sort-failed ] unless* ;\r
 \r
 : sort-classes ( seq -- newseq )\r
     [ name>> ] sort-with >vector\r
index c8ed6da2aa3ce77cbcc906e255f1a7baec8e404c..66179c5e523f2109c713c50016315883f2e80624 100644 (file)
@@ -24,9 +24,11 @@ ERROR: bad-effect ;
 : parse-effect-tokens ( end -- tokens )
     [ parse-effect-token dup ] curry [ ] produce nip ;
 
+ERROR: stack-effect-omits-dashes effect ;
+
 : parse-effect ( end -- effect )
     parse-effect-tokens { "--" } split1 dup
-    [ <effect> ] [ "Stack effect declaration must contain --" throw ] if ;
+    [ <effect> ] [ drop stack-effect-omits-dashes ] if ;
 
 : complete-effect ( -- effect )
     "(" expect ")" parse-effect ;
index 88387abd5cfcc0daee887e41046dff8acb12d214..8a53368062d285979c9505670b0765a797287654 100644 (file)
@@ -208,9 +208,11 @@ SYMBOL: predicate-engines
 : keep-going? ( assoc -- ? )
     assumed get swap second first class<= ;
 
+ERROR: unreachable ;
+
 : prune-redundant-predicates ( assoc -- default assoc' )
     {
-        { [ dup empty? ] [ drop [ "Unreachable" throw ] { } ] }
+        { [ dup empty? ] [ drop [ unreachable ] { } ] }
         { [ dup length 1 = ] [ first second { } ] }
         { [ dup keep-going? ] [ rest-slice prune-redundant-predicates ] }
         [ [ first second ] [ rest-slice ] bi ]
index 28efbaa26e4a099b8c7502b2f6cef23f13573a54..8fa56e6e2496942287d2f0f9faf6781aaf81626d 100755 (executable)
@@ -48,9 +48,11 @@ GENERIC: (log2) ( x -- n ) foldable
 
 PRIVATE>
 
+ERROR: log2-expects-positive x ;
+
 : log2 ( x -- n )
     dup 0 <= [
-        "log2 expects positive inputs" throw
+        log2-expects-positive
     ] [
         (log2)
     ] if ; inline
index 39c38d8688ef614b3dee7c1f4401f3d23a64fca3..aecc9e33d8fd9f0e771921d2d6cf2c25d5f9cb88 100755 (executable)
@@ -281,9 +281,11 @@ INSTANCE: repetition immutable-sequence
 
 <PRIVATE
 
+ERROR: integer-length-expected obj ;
+
 : check-length ( n -- n )
     #! Ricing.
-    dup integer? [ "length not an integer" throw ] unless ; inline
+    dup integer? [ integer-length-expected ] unless ; inline
 
 : ((copy)) ( dst i src j n -- dst i src j n )
     dup -roll [