RFC: Epoch Programming Language, Release 14

Started by
2 comments, last by ultramailman 11 years ago
As many of you may know by now, I've been working on a programming language for quite some time. (I like to say that it's really only been six months or so of real work, and a few years of slacking off in between.)

Release 14 of this language, Epoch, is now available.

In this release, I've focused on performance of the runtime system - specifically, 100% native code generation via LLVM. The language remains fully garbage collected and still manages to perform quite acceptably.

You can find out plenty of details on the language itself at the link above; but here's a quick taste of what it looks like:
fib : 0 -> 1
fib : 1 -> 1
fib : integer n -> integer f = fib(n - 1) + fib(n - 2)

deep_thought : -> integer answer = 0
{
    integer a = fib(5)
    integer b = fib(8)
    answer = a + b
}

entrypoint :
{
    integer the_answer = deep_thought()
    print(cast(string, the_answer))
}
It's like 1AM or something ridiculous, so I'm going to leave this brief for now; but feel free to bombard the thread with questions, comments, feedback, vitriol, etc :-)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Advertisement

0. Syntax for function specialization + returned value initialization is very cool!

1. The lack of semicolons makes the code being much cleaner.

2. Just from curiosity: What led you to choose the cast syntax ?

3. Is there a linkage interface?

++

The cast syntax is a legacy throwback. Now that I have generics, I'm pondering moving to a C++ style syntax: cast<string>(foo).

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Wow, pattern matching like haskell's!

This topic is closed to new replies.

Advertisement