Added -dcore-lint to the build options because the test suite is causing a core
dump. I dont make any calls to any unsafe functions or any foreign functions,
but the test program fails fairly reliably after about 650000 tests. It looks
like I may have found a bug n Haskell.
Bug fix: when evaluating 'Dao.Interpreter.objectReferenceAccess '
backtracking was being caught and re-thrown as an exception. However
throwing an exception for this reason is incorrect behavior because it
is expected that 'Dao.Inerpreter.referenceLookup' function is supposed
to catch backtracking and returning 'Prelude.Nothing'. The built-in
function "defined()" depends on this. I removed backtrack catching and
exception throwing code from the 'Dao.Interpreter.objectReferenceAccess'
function, and now the "defined()" function works as expected.
Added feature: "try {}" expressions may now be followed by "else{}"
expressions. The semantics of the "else" expressions of a "try{}"
statement in the Dao programming language is VERY different from that of
the Python programming language. In the Dao programming language, an
"else{}" expression is executed only if the previous "try{}" or the
previous "else{}" expression backtrack by throwing a void exception
with "throw;" statement. The "catch {}" expression will catch the first
exception to be thrown in any of the "try{}" or "else{}" expressions.