Overview
Philosophy
1 min
shift's mission statement is expanding c# with a stronger type system, refactoring features that have become long on the tooth, and sunsetting the mechanics of the language that are a historical artifact furthermore using this as an oppurtunity to unify and pursue completeness with the langauge in general if there is something about a value or type that a human can be certain about then the type system should supply a mechanism for asserting that if that is the mission then the goal is to achieve it while being approachable to existing c# developers and interoptable with existing net core clr codebases in pursuit of completeness the ideal is that each feature of the language can be explained in terms of the language a few elementary axioms should be necessary a litmus test for approachability is how obvious is it that the code is not written in c# deviation should be intention and serve a purpose this should be weight against how long it will take a developer to learn the new approach a litmus test for completness is if a feature can be explained in existing terms and is simply an abstraction if something is an additional axiom it should add a meaningful dimension to the language edge case axioms should be avoided as much as possible
