I need a version of 'Data.List.length' that returns a polymorphic type of class "Prelude.Num".
I really should have made the matching array index type 'Data.Word.Word' a long time ago.
The local variable stack is now a list of 'Dao.Tree.Tree' data types. This is because function call via pattern matching will construct match trees, rather than simple bind objects values to variable names.
It looks like I didn't need my "brilliant" algorithm for matching an indexed list of objects to a list of object patterns.
I am trying to refactor this to phase-out the old algorithm for function calls, which just matched labels to objects and dumped these labeled objects into the local variable stack. The new function calling algorithm will work on 'Dao.Object.ObjPat' patters.
Dumping the "Dao.Types" module into the "Dao.Object" module untile I can finish refactoring. Seriously, what the fuck is the point of the Haskell module naming scheme? It is like every module exists in a flat name space where names are allowed to have dots in them. There is no difference between naming a module Dao.Object.Monad and DaoObjectMonad.
Eliminated the "Dao.Types" module, and all references to it.
Eliminated the "Dao.Types" module, and all references to it. All symbols that were in "Dao.Types" are now in "Dao.Object" until I can figure out a better way to organize things.
Eliminated the "Dao.Object.Monad" module, and all references to it, merging the contents of that file into the "Dao.Object" module. I need to figure out a better way to organize things.
Got rid of the old useless 'Dao.Predicate.PredicateIO' data type and related functions, which relied on Haskell "Control.Exception"s to handle exceptions in the Dao runtime. I was thinking, it would be nice to just let "case" expressions fail, and have a monad that caught these exceptions for me. But it is best to just use the 'Control.Monad.MonadPlus' monad to catch runtime errors, which is what 'Dao.Predicate.PValue' does.
The "Dao.Combination" monad has been eliminated. The last remnants of the old "Dao.Parser" have been swept away. The regional governers now have direct control over their territories. Fear will keep the local star systems in line; fear of this battlestation.
The "Dao.Combination" monad has been eliminated. The last remnants of the old "Dao.Parser" have been swept away. The regional governers now have direct control over their territories. Fear will keep the local star systems in line; fear of this battlestation. -- Tarkin
The program is back to a state where it compiles, and can evaluate function calls using the new 'Dao.Object.ObjPat' data types to check the parameters passed to functions. However, the test program still does not work. Debugging begins now.