Skip to content
This repository has been archived by the owner on Oct 23, 2019. It is now read-only.

Latest commit

 

History

History
25 lines (17 loc) · 653 Bytes

README.md

File metadata and controls

25 lines (17 loc) · 653 Bytes

Thnad

A fictional programming language

Thnad is a tiny programming language with so few features that it is not useful for anything at all--except showing how to write a compiler in half an hour.

Here's the factorial function in Thnad:

function factorial(n) {
  if(eq(n, 1)) {
    1
  } else {
    times(n, factorial(minus(n, 1)))
  }
}

print(factorial(4))

The language has only the following dubious features:

  • Integer literals
  • Functions
  • Conditionals (with a required "else")

That's it! Math and comparison are function calls. IO (or rather just O, as there is no input) is a simple print function.