Collections
I have added simple support for collections today. However, I have just finished it and didn't have time to test it thoroughly (it works on my simple examples though). My program is able to parse, type and interpret a language which has the following constructs for set, bag and list: empty collection, singleton collection, union (or append) and extension (a basic construct from which comprehensions can be obtained by syntactic sugar).
What is still missing are the list-bag-set translation constructs (actually the typer and interpreter should already be able to handle these, but the parser is not ready yet), syntactic sugar to facilitate work on collections and some operators on basic types. I will work on this tomorrow.