Jump to content

  • Log In with Google      Sign In   
  • Create Account

The Bag of Holding



More steroids for Epoch's type system!

Posted by ApochPiQ, 28 April 2012 · 730 views
Epoch
This program now compiles and runs under the Epoch trunk:

//
// SUMTYPEFUNCTION.EPOCH
//
// Basic test of functions operating on sum types
//

type test : integer | string



sumfunc : integer param
{
assert(param == 42)
}

sumfunc : string param
{
assert(param == "bletch")
}


entrypoint :
{
test foo = 42
test bar =...


Epoch Type System += Steroids

Posted by ApochPiQ, 27 April 2012 · 536 views
Epoch, Type system
Another productive week in Epoch-land!

The first phase of my recent set of changes was to introduce the internal concept of type families. These are groups of type ID tags that represent different categories of semantics. For example, I used to reserve everything above the ID number 20 as "structure" types; now, structure type IDs...


Musings on Epoch features

Posted by ApochPiQ, 24 April 2012 · 952 views
Epoch
I'll just leave this here...


//
// Define a recursive structure for a singly linked list
//
// A list must contain at least one element. If empty lists
// are desired in a given context, use the algebraic sum
// type (list<T> | nothing) to indicate that the list may
// be empty.
//
// Note that the "next" member is either a...


It's Finally Here!

Posted by ApochPiQ, 22 April 2012 · 978 views
Epoch, Release 12
I've finally launched Release 12 of the Epoch programming language!

Go check out the sources and binaries and also the...


Software at Scale: Practice Like You Play

Posted by ApochPiQ, 19 April 2012 · 2,129 views

I recently learned an interesting lesson in developing software that needs to scale to large capacities.

I can't get into the specifics of what I was working on, but the essential facts are more or less as follows:
It includes a cache algorithm
I tested it with as much load as my workstation could generate
In tests, it performed well as...


Epoch Release 12 - Final Phases of Preparation!

Posted by ApochPiQ, 18 April 2012 · 822 views
Epoch, Release 12
At long last, the checklist of major items to do for Epoch Release 12 is empty!

There are a few lingering TODOs in the code which I will probably try and knock out over the next few days, and then it's down to deciding how much additional work I really feel like doing before shipping R12. Considering that all the compiler tests pass, Era compiles...


Homing in on Epoch Release 12

Posted by ApochPiQ, 14 April 2012 · 763 views
Epoch, Release 12
The task list for Epoch Release 12 continues to shrink!

Right now there are basically six major things that definitely need to be done before I'd even consider shipping the release:
Operator precedence reimplementation (basically just need to do a quick Shunting Yard implementation in the new compiler)
Fix up code generation of...


New scribbling!

Posted by ApochPiQ, 10 April 2012 · 780 views
Scribblings
A while ago I launched a site called Scribblings by Apoch with the intent of occasionally publishing little bits and pieces of useful code that didn't have any other particularly appropriate home.

At long last I've posted a new scribbling. As usual, it was motivated by something I really...


Epoch runtime: now with StupidFast™ technology

Posted by ApochPiQ, 07 April 2012 · 1,399 views
Epoch, LLVM
Did some more experimentation with LLVM and Epoch's JIT system; and damn I am pleased with the results.

After finally muddling through enough of the llvm-opt source code to figure out how to order all the optimization passes that LLVM offers, I got a lot of basic optimization and dead-code elimination working on the bitcode that the Epoch VM...


LLVM Madness

Posted by ApochPiQ, 07 April 2012 · 823 views
Epoch, LLVM
More hackery on Epoch/LLVM integration today; got some very promising results.

For comparison: at the end of my hacking marathon the other night, I had the VM running at about 950ms for the benchmark, and the JITted native code at around 720ms.


I'm now down to 920ms for the VM and 370ms for the native code.


The VM speed boost came from some minor...






April 2012 »

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Recent Entries

Recent Comments

PARTNERS