Jump to content

  • Log In with Google      Sign In   
  • Create Account

- - - - -

Epoch Release 11 and Era IDE

Posted by , 17 December 2010 · 273 views

I cobbled together a few spare moments over the past week or so and did some work on Epoch Release 11. There's a lot of goodies coming in this release, including (finally) restored support for doing full Win32 applications. You can also expect more-or-less functional garbage collection, and a generous handful of minor fixes and improvements.

As proof, I offer this:

Release 11 - Preview of Era IDE

This is the prototype foundation for the Era IDE, which will serve as the central toolkit for working with Epoch programs going forward. Although R11 will probably not feature a fully functional editor yet, it will at the very least showcase the capabilities of the language with the framework itself.

The editor/IDE framework is written entirely in Epoch. The actual text editing widget is Scintilla. Syntax highlighting is provided by a C++ DLL, although at some point I'd like to implement support for marshaling Epoch interfaces such that I can port the syntax coloring lexer into Epoch code.

Notably absent are a few nice things like full token recognition in the syntax highlighter; support for hex literals; support for constants; succinct constructors; libraries for holding all the repetitive Win32 API/constant declarations; namespaces; and so on. These are all coming Sooner or Later™ as time permits and necessity demands.

I probably won't have a huge amount of time to work on R11 for a while, between the day job and my GDC presentation prep; but watch this space for more updates.

That's great !
keep up the awesome work :)
That's bloody clever stuff.

Out of curiosity, your syntax for variable declaration is interesting - how do you handle the way that the declared name is given like a parameter? Is it possible to create an unnamed temporary like with C++?

Point(p,0,0); // creates a point called p
f(Point(0,0)); // calls f with an unnamed point

or does the first parameter to a constructor have to be a name rather than an expression?

You've probably explained this already before but I guess I missed it.
I have been looking forward to it getting further in development so that I can attempt to write a compiler for itself in Epoch. Self hosting compiler ftw!

January 2017 »

15161718 19 2021