phillord / tawny-owl

Build OWL Ontologies in a Programmatic Environment
GNU Lesser General Public License v3.0
251 stars 54 forks source link

individual crashes with poor error messages with incorrect types #39

Closed phillord closed 6 years ago

phillord commented 8 years ago

Because "if" or "fact" return closures, error messages are obfuscated, and rarely point to the correct value in the client code. So

(individual "blah" :fact (is r a) (is r b) (is r c))

will crash if any of a, b,or c is not an individual. But, the stack trace will only point to individual.

The most straight-forward solution is to put ":pre" assertions everywhere. For which I will need a lot of predicates.

phillord commented 6 years ago

Fixed ages ago!