Summary

(chicken irregex): Use condition kinds

Metadata

Description

The (chicken irregex) module should raise conditions with kinds. It's hard to handle exceptions automatically without them. For example, 'irregex' raises an exception when called with a syntactically-invalid regular expression or with an object of the wrong type (say, a vector). The only way to tell which of these problems occurred is through a nasty kluge: examining the condition's message. It should instead raise a condition with kind '(exn type)' for the type error (like the rest of CHICKEN's core forms) and with kind '(exn irregex)' (e.g.) for the regular expression syntax error.