The Bag of Holding

Profile
Bellevue, WA
A bipolar guy in a pressure-cooker industry
1,455 comments
44 followers
628 entries
Advertisement
ApochPiQ
April 07, 2013
Implementing Higher Order Functions on Top of LLVM
One of my favorite features of the Epoch programming language is the inclusion of first-class higher order functions:apply : (thefunction : ){ thefunction()}apply : string param, (thefunction : string -> string) -> string ret = thefunction(param)mutate : string param -> string ret = par…
2,945 views
ApochPiQ
April 05, 2013
Quoth the VM: I'm not dead yet!
As I've written about previously, I'm working on destroying the Epoch virtual machine for once and for all.

Tonight I hit a major milestone in that effort: 43 of 54 compiler tests are now passing. This is the result of dozens of bugfixes and a truly hideous amount of surgery on the JIT code.

Of the t…
1,364 views
ApochPiQ
March 14, 2013
Death to the VM
After a brief time away, I've come back to Epoch ready to hack on the thing again.

I've remarked several times in the past that I'd like to get rid of the VM implementation that currently runs most Epoch code. This is motivated by a few factors, but primarily performance and a desire to eliminate du…
1,631 views
ApochPiQ
February 05, 2013
Concurrent programming bug - the solution
In my last post I outlined a bug that recently bit me in a reference-counting mechanism in a concurrent system.

If you haven't solved the mystery yet, here's some hints from common guesses I've seen from various people:

  • The reference count is implemented using atomic intrinsics.
  • Atomicity and alignmen…
1,813 views
ApochPiQ
February 02, 2013
Concurrent programming is hard, mmmkay?
Here's a fun bug that I've had in one of my projects for quite some time, which I finally figured out and fixed today.

As with most bugs of this nature, it took dozens of readings through the code to spot it, and by the time I finally realized what I'd done, I felt incredibly stupid. In hindsight it…
1,995 views
ApochPiQ
January 24, 2013
Dude, Just Chill Out.
Hi, my name is Apoch, and I'm a workaholic.


I lived for many years in denial of this fact. It has only been very recently that I've begun to really understand the nature of my condition. There's any number of fancy ways to dress it up, but the bottom line is, I'm addicted to getting things done.

I st…
1,708 views
ApochPiQ
January 04, 2013
Epoch - still getting faster!
With little bits and pieces of free time over the holiday break, I've been working on adding some more oomph to the Epoch native machine code JIT system. In a nutshell, this means a lot of operations which used to be slow and costly are getting cheaper and more efficient.

I've also experimented with…
1,850 views
Advertisement
ApochPiQ
December 03, 2012
Epoch Realtime Raytracing Demo
As I've written about in the past couple of weeks, I've been investing a heavy amount of time into the Epoch programming language, particularly in the realm of runtime performance. Most of the work has gone into implementing native code generation via LLVM so that Epoch programs aren't bottlenecked…
2,250 views
ApochPiQ
December 01, 2012
Oh. Yeah.
Yeah, this just happened:

1,461 views
ApochPiQ
November 30, 2012
Abusing speed for fun and profit (not that kind of speed)
It's a slow Friday afternoon so I figured I'd brain dump some things I've been playing with for Release 14 of Epoch.

As I've mentioned in the past, one of my proof-of-concept programs for R14 is a raytracer. This is for a few reasons:

  • Raytracing is just cool (and I have a nostalgic soft spot for it f…
1,494 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