Release 9 of the Epoch Language Project is now available. Read all about it.
Download it. Play with it. Stretch it. Test it. Make it do cool things. Then tell me about your adventures.
You want to look at this. If you don't, I'll visit you in your sleep and suffocate you with a large fish.
Download it. Play with it. Stretch it. Test it. Make it do cool things. Then tell me about your adventures.
You want to look at this. If you don't, I'll visit you in your sleep and suffocate you with a large fish.
The first version of CPU failover support is now present in the master source for Epoch Release 9. This feature allows a program to run GPGPU code directly on the main CPU if a suitable GPU is not present. The failover is completely transparent; the program need not do any special to benefit from t…
One of the big promises of the Epoch language is the ability to automatically move code around to various bits of host hardware. For example, suppose I write an app that relies on certain GPGPU logic, such as image filtering. Then, someone runs the app on a machine that lacks capable GPU hardware. …
I've been cranking away all weekend on getting a proper GPGPU demo put together; nothing fancy, just sums two large buffers of floating point numbers.
The first big hurdle was moving data up to the GPU efficiently; I'm not entirely happy with my current solution, as it involves a couple of extra cop…
The first big hurdle was moving data up to the GPU efficiently; I'm not entirely happy with my current solution, as it involves a couple of extra cop…
Out of a blend of curiosity and abject boredom, I decided to type up some more Epoch documentation, to see just how many features there are to discuss. I was pleasantly surprised at the results - there's more crammed into this thing than I remembered [grin]
The second introductory article on Epoch i…
The second introductory article on Epoch i…
I sliced out a chunk of time today to write up a new introduction to programming in the Epoch language. It doesn't cover much yet, but it should be enough to help figure out the rest of the good stuff via the examples.
Next time I'm bored (and the whim to write strikes me) I'll supplement that artic…
Next time I'm bored (and the whim to write strikes me) I'll supplement that artic…
Release 8 of the Epoch programming language is now available.
The CUDA support is downright primitive at the moment, but I plan to take care of that in R9. As usual, any and all feedback is welcome!
Enjoy [smile]
The CUDA support is downright primitive at the moment, but I plan to take care of that in R9. As usual, any and all feedback is welcome!
Enjoy [smile]
Release 8 of the Epoch language project is getting really close to ready to ship... finally!
I scraped together a couple of hours this evening and knocked out the remaining work for thread pooling support. The big caveat to using worker thread pools is that you can't pass messages to a pooled thread…
I scraped together a couple of hours this evening and knocked out the remaining work for thread pooling support. The big caveat to using worker thread pools is that you can't pass messages to a pooled thread…
As much as I hate the language, I have to admit that C++ has an impressive amount of power under the hood - even though accessing that power sometimes requires some insane contortions. In particular, I'm always interested in the tricks that people come up with for template metaprogramming. They are…
Well, it's obviously getting real close to the end of January, and Epoch Release 8 is still obviously not here.
I had really hoped not to slip the schedule on this one, but other commitments have come up, and I just haven't had the time I'd like to pour into it. I still do plan to finish it up as qu…
I had really hoped not to slip the schedule on this one, but other commitments have come up, and I just haven't had the time I'd like to pour into it. I still do plan to finish it up as qu…
Last week my nice happy 22" monitor on my main workstation decided to die. That's left me with just two 17" 1280x1024 displays to use, and that just doesn't cut it for serious development anymore. (Two or three instances of Visual Studio, a half dozen Notepad windows, a couple of Skype discussions,…
I've scraped together a couple of free hours and spent some time hacking on Epoch Release 8 this weekend. A couple of minor task-list items have been knocked out, and I've done some architectural improving in the parser to help boost compile times.
At the moment I'm working on Issue 9 which involves…
At the moment I'm working on Issue 9 which involves…
Recently, I've been doing some Unix-land hackery for various bits of fun and profit. Very long story short, I've strayed from OpenBSD (my first choice of Unixes) into the wilds of FreeBSD, because of some wireless driver compatibility issues. From there I've returned to Linux, which I left a long t…
Let's just say that you should generally make decisions on how to clean up your memory before you're 300,000 lines deep into your project. Updating all of that code to use smart pointers is a bitch.
[Addendum] In a similar vein, if you spend the bulk of the day waiting on a JDK compile on your secon…
[Addendum] In a similar vein, if you spend the bulk of the day waiting on a JDK compile on your secon…
I just realized that I haven't posted here since July.
I kind of left on a bad note, I guess. The intervening months have been, for lack of a less loaded word, completely insane. I've been on and off my medication, in and out of carefully monitored family care, and into a few other situations I'd ra…
I kind of left on a bad note, I guess. The intervening months have been, for lack of a less loaded word, completely insane. I've been on and off my medication, in and out of carefully monitored family care, and into a few other situations I'd ra…
My clock reads 1:00 AM exactly. So does my cell phone, which I've obsessively checked every 30 seconds for as long as I've been awake.
At least, I think that's what I've been doing; my short term memory is so butchered I can barely remember what I'm trying to document here. Gaps in my recollections …
At least, I think that's what I've been doing; my short term memory is so butchered I can barely remember what I'm trying to document here. Gaps in my recollections …
Epoch Release 7 is Now Available
The seventh major snapshot of the Epoch programming language is now available for download from our Google Code web site.
This release introduces infix operators, fixes a large number of issues, and adds some polishing here and there.
Please note that this release is s…
The seventh major snapshot of the Epoch programming language is now available for download from our Google Code web site.
This release introduces infix operators, fixes a large number of issues, and adds some polishing here and there.
Please note that this release is s…
If you've been desperately F5'ing my journal for the last few days, you'll have noticed that every evening or so I manage to scratch off yet another item or three from the Evil To-Do List.
If you've noticed that, chances are you've also noticed that the list is down to a single item - namely, updati…
If you've noticed that, chances are you've also noticed that the list is down to a single item - namely, updati…
So, guess what I'm going to talk about today!
Are you bored of this stuff yet?
Are you bored of this stuff yet?
- Integrate new features with the assembler and bytecode systems
- Fix some bugs in nested response map support
- Complete code review of all example programs to ensure they use the latest syntax and features
- Type validation for st…
Gather 'round, kiddies! It's time for our daily task list update! Yayy!
- Integrate new features with the assembler and bytecode systems
- Pop the parser stack correctly to improve error responses
- Fix some bugs in nested response map support
- Improve syntax for initializing nested structures
- Improve syntax f…
Development on R7 today has been a mixed bag. At times it feels like I make one step forward and three steps back. The infix operator logic needed a complete rewrite, which has made it (and some peripherally related areas) much more robust - but at the cost of quite a bit of programming time. So I'…
I've officially opened up the Google Code site for Epoch, at http://code.google.com/p/epoch-language/ (alternatively reachable at http://epoch-language.googlecode.com/ as well).
So far there's no content there, but as R7 nears completion I'll start setting up more stuff. The finished R7 code will be…
So far there's no content there, but as R7 nears completion I'll start setting up more stuff. The finished R7 code will be…
More headway on Release 7 today. As you can see in the previous post, a lot of items are getting checked off. In fact, it's worth taking a look at the remaining items in a fresh list. So here it is:
- Integrate new features with the assembler and bytecode systems
- Pop the parser stack correctly to impro…
After working on tuning up the inter-thread message passing system, I kind of got onto an optimization kick, and started exploring other options for gaining better performance in the Epoch VM.
The biggest change is in the way lexical scopes are handled. Lexical scopes basically consist of two chunks…
The biggest change is in the way lexical scopes are handled. Lexical scopes basically consist of two chunks…
So far the weekend has been pretty productive on the Epoch front; as I mentioned in the last entry I've been working on replacing the memory management in the message passing code, to avoid expensive locks during new/delete operations.
I've now more or less completed the new memory manager, which ta…
I've now more or less completed the new memory manager, which ta…
I can officially cross off unary operators, parenthetical expressions, and the buffer datatype.
I decided to make buffer purely heap-allocated, and use a garbage collector to reclaim unused buffers, similar to how I plan to handle strings. Buffers are mainly useful for interacting with external APIs…
I decided to make buffer purely heap-allocated, and use a garbage collector to reclaim unused buffers, similar to how I plan to handle strings. Buffers are mainly useful for interacting with external APIs…
Had a good run this evening working on Epoch Release 7; the main bits I've added are as follows:
- map() function for applying a unary function to a series (list) of elements
- reduce() function for applying a binary function to a series (list) of elements, tracking the result
- The new future() function, w…
Advertisement
Popular Blogs
Advertisement