The Bag of Holding

Profile
Bellevue, WA
A bipolar guy in a pressure-cooker industry
1,455 comments
44 followers
628 entries
Advertisement
ApochPiQ
December 11, 2013
Self-hosting the Epoch Compiler: Day One
As I've written about here previously, I have a personal goal of self-hosting the Epoch language compiler by the end of 2013. The other night I actually ran the first attempt at passing the compiler source code through itself; the results were underwhelming, to say the least.

My main enemy out of th…
1,586 views
ApochPiQ
December 10, 2013
Two steps forward, one step sideways
Over the weekend, I finished the last of the Epoch compiler support for templates. This means that, in theory, the Epoch-implemented compiler is capable of passing every test in the compiler test suite that I use for the C++ version of the compiler.

Unfortunately, I introduced two regressions along …
1,509 views
ApochPiQ
December 02, 2013
Breaking down the Epoch parser
I've had several requests for a detailed look at how the Epoch compiler parser works, so I figured I'd write up a summary of how everything fits together.

All Epoch programs begin their life in the entrypoint function. The compiler's entrypoint is fairly simple, but it contains a lot of extra stuff …
1,556 views
ApochPiQ
December 01, 2013
Zeroing in on self-hosting
After a short break, I'm back to hacking on Epoch again.

Today was pretty productive; made several additions to the parser, added support for a few lingering language features that have been neglected up until now, and fixed a couple minor bugs. The compiler is getting richer, the test suite is expa…
1,484 views
ApochPiQ
October 17, 2013
Speculation on semantically-aware version control
Working on a massive code base comes with some interesting challenges.

Consider this scenario, loosely based on a real-world problem we recently encountered at work:

  • Create a multi-million line code base
  • Divide this into over two dozen branches for various independent development efforts
  • On some given …
1,991 views
ApochPiQ
October 01, 2013
Advice to a Young Programmer
One of the awesome things about ArenaNet is that we run a programming internship program that actually does a phenomenal job of preparing people to work in the games industry. This is accomplished by focusing on three primary principles:

  • Everything you do will matter. There is no pointless busy-work…
14,424 views
ApochPiQ
September 29, 2013
So close, and yet so far
After implementing a bit of value-based pattern matching support, the Epoch compiler is now down to 7 tests remaining before it's ready for self-hosting.

Of those 7, four are related to templates, which will be the last major endeavor required to get self-hosting viable. Templates are scary and will…
1,798 views
Advertisement
ApochPiQ
September 19, 2013
Still rambling about self-hosting
Down to 9 tests in the compiler suite that still need some love before they will pass.

For those not keeping score at home, this means that 58 out of 67 compiler tests are passing in the Epoch implementation of the Epoch compiler. In other words, Epoch is getting very, very close to being able to co…
1,687 views
ApochPiQ
September 10, 2013
Speculation and such
Just fooling around.


//// Define an Epoch task that does some work//task Worker :{ // // This specifies a "message signature" which can be // used by and instance of this task to receive data // and commands from other code. // Work : integer a, integer b { // Do some com…
1,683 views
ApochPiQ
August 25, 2013
Epoch self-hosting progress
So the Epoch compiler is now written end-to-end in Epoch. There is no C++ left in the bootstrapping process aside from the runtime environment which does garbage collection and such.

Sadly this doesn't mean that we're quite to self-hosting just yet. Only about a third of the compiler test suite is p…
1,312 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
13 Followers
klg71
Generalist
53 Entries
1 Followers
ApochPiQ
Generalist
628 Entries
44 Followers
15 Entries
13 Followers
johnhattan
Programmer
1,277 Entries
50 Followers
Advertisement