Menu Close

Articles

Wee Language

Wee is a minimalist low level computer language. It is designed as light weight Assembly language. Main goal for this research is to learn low level programming. Wee is design for machine not for humans. Therefore it is an intermediate language used as target for other computer languages to be build on top of it.

Paradigm

Wee is imperative, type-less language. It has classic concepts like: comments, variables, control flow, subroutines and repetitive statements. It has keywords instead of curly brackets for blocks of code.

Wee is a free form minimalist language but is not type safe. It has one single data type: integer. It has autonomous memory management but no error recovery mechanism other than immediate failure. 

Wee has short English keywords and is human readable but not very productive since it does not have higher level features and abstract concepts required by large projects and sophisticated algorithms. 

Repository

Wee repository is hosted on gitlab.com. If you have an account you can clone it on your computer. If you wish to contribute, you can post comments on forum or you can join Discord community and chat directly with the author. Any contribution will be highly appreciated and rewarded with promotion and endorsement.

https://gitlab.com/elucian/wee

Compiler

The compiler should generate Assembly code. It should be cross platform. That mans you can generate on Windows code for Linux or Mac. Or on Mac you could generate code for Windows. This is a system language so you should be able to run the code native on the bare-bone machine.

You can develop your own compiler for Wee using your favorite computer language and platform. If you make modifications, please contribute and share your success story. Wee is a target language  for code generators but will not be used as such until is stable enough.

And why?

This language is an experimental research. The only purpose is to learn low level programming. Therefore the design of the language is not constrained by any commercial goal. We think having an immediate goal will hurt the design choices.

The main goal is to be compatible, portable for multiple microprocessor architectures. We of cores will create first compilers for most common processors: Intel and AMD. But in the future we may expand.