Perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away.
(Antoine de Saint-Exupéry, translated by Lewis Galantière.)
dotLang is a general-purpose programming language which is built upon a small set of rules and minimum number of exceptions and a consistent set of specifications.
Because it is:
- Simple: There are a few key concepts and features that you need to learn. With a very smooth learning curve, you will not need to keep in mind an endless array of exceptions and criteria.
- Powerful: The fact that dotLang is simple, combined with orthogonality of the tools that the language gives you, makes it an immersely powerful tool. You can mix and match different concepts easily and all the way, compiler is with you to do as much as possible.
- Fast: dotLang is a compiled language. Because of its simplicity, compiler is able to quickly compile a large source code set and also by using LLVM, the binary output will have a high performance.
dotLang is very similar to C but with some significant improvements:
- Module system (no header files!)
- Support for generics
- Full immutability
- No reference type, no pointer, no manual memory management
- Powerful concurrency model
- First class functions
- Support for sum types
- And much more!
Grammar of dotLang in a notation similar to EBNF can be found here
Currently, the language manual is finalised. Please contact me if you are interested in helping either with the documentation or implementation.