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…
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…
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…
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…
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…
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:
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…
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…
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…
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…
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…
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…
I've also experimented with…
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…
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:
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…
Advertisement
Popular Blogs
Advertisement