The specification for such a programming language is ongoing. In particular we must both define the memory and computation model and their relative syntax. For programming languages, it is important to both be succinct and intuitively convey information about the resulting program. In particular space and time complexity of methods should at least hinted at or computed to the best approximation during the editing of code.
We also want to separate the concepts of user code and representation code. User code is utilized by humans and thus needs to be succinct to create and easy to navigate and manipulate. Representation code on the other hand only needs to be consumed by the system. It should already pass certain checks and have a certain level of consistency.
We want an relative abstract representation of methods and extensive support for metaprogramming. The concept of code as data is a core feature of our language. We should separate intention and implementation of algorithms and allow different algorithms with the same intention to be swapped out depending on operating characteristics.