300x300 pixels in 480ms.
Just for fun, here's the source of the raytracer as it currently stands:
[source]//
// Some working thought-space for the raytracer project for R14
//
type listnode : list | nothing
structure list :
T value,
listnode next
structure Point :
real x,
real y,
real z
// TODO - fix type …
Just for fun, here's the source of the raytracer as it currently stands:
[source]//
// Some working thought-space for the raytracer project for R14
//
type listnode : list | nothing
structure list :
T value,
listnode next
structure Point :
real x,
real y,
real z
// TODO - fix type …
So a few days ago I shipped Release 13 of the Epoch programming language.
Turns out, that was a bad idea.
R13 has some seriously aggressive features in it. There's support for native algebraic sum types, type aliases (both "weak" in the sense of C/C++ typedefs and "strong" in the not-weak sense), and…
Turns out, that was a bad idea.
R13 has some seriously aggressive features in it. There's support for native algebraic sum types, type aliases (both "weak" in the sense of C/C++ typedefs and "strong" in the not-weak sense), and…
So, yeah. I decided I didn't have any patience and went ahead and shipped R13.
Check it.
Templates! Type system enhancements! Bug fixes! It's got it all!
Check it.
Templates! Type system enhancements! Bug fixes! It's got it all!
So now that templates are basically working, it's time to seriously start plotting the 13th release of the Epoch programming language.
I've hammered out a few basic cleanup and documentation tasks, but there's still a lot of room for improvement. My hunch is that at this point I'll probably set abou…
I've hammered out a few basic cleanup and documentation tasks, but there's still a lot of room for improvement. My hunch is that at this point I'll probably set abou…
The following Epoch program now compiles and executes:
//
// GENERICLIST.EPOCH
//
// Simple implementation of a singly linked list holding arbitrary data
//
type listnode : list | nothing
structure list :
T value,
listnode next
prepend : list ref thelist, T value
{
list newlist = value, thelist
thelist = ne…
So as threatened, I implemented generic types last weekend. Took about a solid afternoon to make it happen, so not bad at all.
In the process, I realized that there's just a ton of code in the Epoch compiler in particular that's... gross. So I took a few days and cleaned it up substantially. As a bo…
In the process, I realized that there's just a ton of code in the Epoch compiler in particular that's... gross. So I took a few days and cleaned it up substantially. As a bo…
So once again I've dug out and dusted off the code for Epoch. The last several days have been pretty productive; I finished off the implementation and testing of algebraic sum types, and now the following program compiles and passes all tests:
[source]//
// LISTOFINTEGERS.EPOCH
//
// Simple implementat…
[source]//
// LISTOFINTEGERS.EPOCH
//
// Simple implementat…
One of the Master's pupils was a notorious hypochondriac.
Every day, the pupil would complain to the Master of some new ailment. At first, it was innocuous; a rash from harvesting herbs, or a scratch from chopping firewood, or maybe a bruise.
But as time wore on, the pupil's complaints became more se…
Every day, the pupil would complain to the Master of some new ailment. At first, it was innocuous; a rash from harvesting herbs, or a scratch from chopping firewood, or maybe a bruise.
But as time wore on, the pupil's complaints became more se…
This is, without question, one of the most surreal mornings I've ever had.
It's a very rare moment of quiet and calm here at the office, and I wanted to take a moment to reflect on the past year of my life.
I've shipped a few games in my time in the industry. I'm no stranger to the late nights, the f…
It's a very rare moment of quiet and calm here at the office, and I wanted to take a moment to reflect on the past year of my life.
I've shipped a few games in my time in the industry. I'm no stranger to the late nights, the f…
Advertisement
Popular Blogs
Advertisement