thea_interpreter

command module
v0.0.0-...-7db3735 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2019 License: GPL-3.0 Imports: 4 Imported by: 0

README

thea_interpreter

Why

I have an idea for something a little more ambitious, but I need to understand these things first before I jump into it. So, I'm making an interpreter (and maybe a compiler in the future) for a language I'm creating called Thea. Eventually, I will translate this knowledge into a new language called Cynthia.

I don't really have a big plan for Thea at the moment, I think it's just going to be another quirky language, right now the gimmick is that the keywords are only two characters because I hate memorizing long winded and verbose bits of code.

Though, I imagine reading something like if (tr) rt fl; el rt tr; (if true, return false, else, return true) is a bit difficult to read. It looks kind of cute to me.

Also, I think most keywords are just kind of useless? Like if I'm writing a recursive fibonacci function, I don't need to see the entire return keyword, my eyes just glaze over it, so it helps in filtering out noise in programming code.

lt fib = fn(n) {
	if (n < 2) rt n;
	el rt fib(n - 1) + fib(n - 2);	
}

This looks clean to me. Tight.

That's what it is right now, maybe it'll change in the future if I think of a revolutionary new idea (hah).

Some of the things you can do with Thea

Arithmetic Expressions

5 + 5;
10

Variable Bindings

lt a = 5;
lt b = 10;
b * a;
50

Functions

lt a = fn(x, y, z) { x + y + z; }
a(1, 2, 3);
6

Higher-Order Functions

lt a = fn(x) { fn (y) { x + y } };
lt b = a(2);
b(3);
5

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL