Menu

Home

Ove Kåven

The M.O.R.T.A.L. Wiki

M.O.R.T.A.L. is a new general-purpose programming language, aiming to be both powerful and intuitive.

About the name

At the moment, nobody yet knows exactly what M.O.R.T.A.L. stands for. The current best guess is Multiparadigm Optimizing Retargetable Transdisciplinary Abstraction Language, but further research is needed on this topic.

About the project

I've been a software developer for 25 years, and I've always looked for ways to improve my understanding and my productivity. Often, I found that I might be able to do particular tasks more easily if the programming language I used had this or that feature. Some programming languages had those features, but were unsuitable for my tasks for other reasons.

As the years passed, my ideal programming language started to take shape in my mind and in my dreams. The best thing was, being a highly skilled software engineer meant I would also be able to realize my dream. Now, I've finally reached the point in my career where I have both the time and the skills to create the language I'd wish I had when I was a child.

It may be an ambitious project, creating a language as powerful, expressive, intuitive, and high-performance as I'd like, but I think it can be done, and I'm willing to bring all my engineering and problem-solving experience to bear on it. (I also have other research projects I'd like to do later, but I want to have a very powerful language to do them in first.)

I may also end up using this project to get myself a Ph.D. title or equivalent, but it's not my primary motivation.

About the language

Information about the syntax will appear on the [Syntax] page.

M.O.R.T.A.L. generates C source code (and later, native code for the CPU), and executables do not require a virtual machine, or even any particular runtime library (though the compiler itself depends heavily on GLib). It is architected throughout for generating code with minimal runtime overhead. To help keep programs free of bugs, M.O.R.T.A.L. is strongly typed, can do many things automatically for you, and will have several static code analysis features integrated into the language itself.

The M.O.R.T.A.L. compiler is self-hosting. One reason for this is to allow parts of the compiler to be optionally linked into finished executables in order to do code generation at runtime. It should be possible to specialize an algorithm at runtime and then generate optimized code for the CPU, or the GPU, or even FPGAs, for ultimate hardware acceleration.


Related

Wiki: Syntax

Monday.com Logo