From dc7944625037724687679a0e6c5b9f5df1aadbbb Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Tue, 11 Aug 2009 23:09:02 -0500 Subject: [PATCH] use ERROR: in several places instead of throwing strings --- core/classes/algebra/algebra.factor | 4 +++- core/effects/parser/parser.factor | 4 +++- core/generic/single/single.factor | 4 +++- core/math/math.factor | 4 +++- core/sequences/sequences.factor | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/core/classes/algebra/algebra.factor b/core/classes/algebra/algebra.factor index 6bfc94d79a..df4f8f2563 100755 --- a/core/classes/algebra/algebra.factor +++ b/core/classes/algebra/algebra.factor @@ -202,9 +202,11 @@ M: anonymous-complement (classes-intersect?) : class= ( first second -- ? ) [ class<= ] [ swap class<= ] 2bi and ; +ERROR: topological-sort-failed ; + : largest-class ( seq -- n elt ) dup [ [ class< ] with any? not ] curry find-last - [ "Topological sort failed" throw ] unless* ; + [ topological-sort-failed ] unless* ; : sort-classes ( seq -- newseq ) [ name>> ] sort-with >vector diff --git a/core/effects/parser/parser.factor b/core/effects/parser/parser.factor index c8ed6da2aa..66179c5e52 100644 --- a/core/effects/parser/parser.factor +++ b/core/effects/parser/parser.factor @@ -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 - [ ] [ "Stack effect declaration must contain --" throw ] if ; + [ ] [ drop stack-effect-omits-dashes ] if ; : complete-effect ( -- effect ) "(" expect ")" parse-effect ; diff --git a/core/generic/single/single.factor b/core/generic/single/single.factor index 88387abd5c..8a53368062 100644 --- a/core/generic/single/single.factor +++ b/core/generic/single/single.factor @@ -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 ] diff --git a/core/math/math.factor b/core/math/math.factor index 28efbaa26e..8fa56e6e24 100755 --- a/core/math/math.factor +++ b/core/math/math.factor @@ -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 diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 39c38d8688..aecc9e33d8 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -281,9 +281,11 @@ INSTANCE: repetition immutable-sequence