Skip to content

incorrect or inconsistent error kinds #45

Description

@svenssonjoel

discrepancies to consider

error on not supplying enough arguments

type-of => eval_error
list? => type_error
number? => type_error
to-i => eval_error
to-float => eval_error
sym2str => eval_error
str2sym => eval_error
car => eval_error
cdr => eval_error
length => eval_error
ix => eval_error

(// 1000) => eval_error (one argument but needs at least 2)

error when supplying too many arguments

type-of => eval_error
list? => eval_error
number? => type_error
to-i => eval_error
to-float => eval_error
sym2str => eval_error
str2sym => eval_error
car => eval_error
cdr => eval_error
length => eval_error
ix => eval_error

error when providing incorrect type

(sin "string") => eval_error
(cos 'sym) => eval_error
(tan t) => eval_error
(asin nil) => eval_error
(acos '(1 2 3)) => eval_error
(exp "test") => eval_error
(sqrt 'sym) => eval_error
(log t) => eval_error
(floor '(1)) => eval_error
(ceil [|1|]) => eval_error
(round "str") => eval_error
(atan2 "s" 1.0) => eval_error
(atan2 1.0 'sym) => eval_error
(pow "a" 2.0) => eval_error
(pow 2.0 t) => eval_error
(deg2rad "deg") => eval_error
(rad2deg nil) => eval_error
(is-nan "nan") => type_error
(is-inf 'inf) => type_error

In one sense all of the above are type-error, at least this is what a Haskeller (or the like) would say. At least I would like to make this more consistent so that providing too few arguments always result in the same kind of error (and likewise for the other cases).

What do you think @r3n33 and @vedderb, Should I make all of these errors type_error?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions