Created APIs necessary for defining global constant variables, and have modified the built-in function call mechanism to put all built-in function calls into the global constant table. I have also created a built-in constant for every 'Dao.Interpreter.CoreType', and have added a new built-in function "typeof()" which can retrieve the type value of an object value, and this type value can be compared with any of the global constant types. The global constant types all begin with upper-case letters to avoid confusion with constructors or functions of the same name, e.g. "Null" is the type value of "null".
Three bug fixes:

(1) Fixed the "delete()" function which I had stupidly defined to
automatically dereference parameter arguments, so it was not deleting
the references passed as arguments, rather it was trying to delete the
values stored at those references. This has been fixed now.

(2) The instance of the 'Dao.Interpreter.updateForLoop' function for the
'Dao.Interpreter.Object' data type was making use of the
'Dao.Interpreter.updateForLoopWith' which was using 'Data.Monoid.mempty'
as the initial value in the fold operation. But the
'Dao.Interpreter.Object' instance of 'Data.Monoid.mempty' is
'Dao.Interpreter.ONull' which was being treated as a single value rather
than an updated list, which was causing a null value to appear in lists
updated by "for" loop evaluation. By modifying the API for
'Dao.Interpreter.updateForLoopWith' and 'Dao.Interpreter.updateForLoop'
to not use 'Data.Monoid.mempty', and instead receive the initial value
as an argument, it becomes easier to customize the instantiation of
'Dao.Interpreter.updateForLoop' for the 'Dao.Interpreter.Object' data
type such that it behaves correctly without requiring a newtype for the
sole purpose of to instantiating 'Data.Monoid.Monoid' in a way that
makes the instantiation of 'Dao.Interpreter.UpdateIterable' work
correctly.

(3) The "for" loop expression should be able to modify the contents of
the object over which it is iterating by modifying the iterator
variable. While the 'Dao.Interpreter.updateForLoop' function was
correctly updating the list being iterated after fix (2), but the target
object of the iteration was not being updated after the loop completed.
I added a new function similar to 'derefObject' called
'derefObjectGetQualRef' which lets me update the 'Dao.Iterator.QualRef'
value associated with the target object of the iteration if any.
Added in several more useful built-in functions, mostly functions related to
casting data of one built-in type to another built-in type. Also, I have
changed the behavior of "print()" to call 'System.IO.putStr' and added a
new function "println()" which calls 'System.IO.putStrLn', so I had to
update all of the test programs I have written to make use of
"println()" wherever it had used "print()".

While I was adding these functions, I realized there was a better way to
perform type conversion using conversion tables encoded as instance
functions to the 'Dao.Interpreter.ObjectClass' class. I have already
started implementing this table, although I have not yet worked it into
the rest of the program.