entrypoint : () -> (){ integer(foo, 41) operateref(foo, incrementref)}operateref : (integer ref(number), function op : (integer ref)->()) -> (){ op(number) debugwritestring(cast(string, number))}incrementref : (integer ref(number)) -> (){ assign(number, add(1, number))}
I've more or less given up on messing with Visual Studio integration. It's a neat concept and a lot of fun to play with VS's guts, but it's just too much work for a language that's still essentially just proof-of-concept. There's not nearly enough documentation or prior art available on the Intertron to find anything out when getting stuck, either.
For example, I currently have no idea how to define a project type that doesn't use MSBuild, and doesn't implicitly expect a lot of .Net bindings that Epoch doesn't need to have. It doesn't seem like it's easy to do, although obviously it's possible as VC++ does it.
Maybe I'll come back to it later, but at least for the moment it's more productive to work on the core language and get it to a point that makes sense.
Speaking of which, I need to go write an explanation of what Epoch is supposed to be in the first place. I think I'll do that now.