The ALTernative Language
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Non-Turing Complete

ALT has an interesting theoretical property, called non-Turing completeness, that is worth mentioning.

First of all, ALT is designed in such a way that you cannot have loops or general recursion, so that (in theory at least) ALT programs should always terminate. For example, ALT’s literal iota operator is directly inspired by a non-Turing complete programming language called BlooP.

Of course, you can create self references in ALT, but in that case the runtime would terminate with a CYCLE value - and it would terminate in bounded time. Does that mean that ALT is non-Turing complete? Probably yes, but that is still an open research question.

Because of this limitation, you cannot write certain programs in ALT. But that’s OK! A lot of useful software is written in Excel, and ‘pure’ Excel also doesn’t have loops or recursion. So the best way to approach programming in ALT is to think as a spreadsheet developer! Just write your solution in Excel first, and then come back to ALT.