It looks like you started with writing an interpreter in C#, then wrote the compiler in the language itself. Which is a cool concept, I must say. I can't fully wrap my head around the practicalities, though. Do you compile the compiler with an older version of itself during development? Do you plan to update the interpreter as the language evolves?
Builtin serialization of any type Couldn't this be implemented with compile time evaluation in the standard library?
Variable redeclarations Why?
What about a build tool? Is an interface with the compiler going to be part of the compile time evaluation?
How long have you been working on this? Is this your first language project?