[GSoC 2016] Refactoring symbols and implementing External functions
The last week was focused on moving the Symbol definitions in the runtime environment to a separate ruby module, CT_Symbols. This involved a lot of changes to the structure of object code but in the end the module is very concise and accurate. We also tested all the existing test cases against the new module.
After that I implemented the compare
External function as per the algorithm. Initially the comparison was done based on alphabetical ordering of symbol names for data constructors, but this was a mistake and was later corrected to comparison of token value instead. I also added a corresponding test case for the same.
Next I will be working on the =:<=
and the =:<<=
operators which are described in this paper.