Mike Austin's Blog

Saturday, November 15, 2008

200K of stringstream

stringstream needs iostream, which needs ostream which needs...

Simply change uses of stringstream (and iostream) to snprintf() to shave 200K off your app. Impulse, trying to be a minimalist language, can't afford this bloat.

gcc version 3.4.4

Tuesday, November 11, 2008

Impulse: C++

One of the goals of Impulse is to make bindings and glue code easy to write. Taking advantage of type constructors and operator overloading in C++, you can create a dynamic "language" that's fairly small:
val n = val(5) (pow_, 2);

range(1, 5) lambda (each_,
cout << args[0] << endl;
)
The first line above without sugar would be:
val a = { 2 }, Args args(&a[0], &a[1]);
val n = val(5).perform(_pow_, args);
Eeek! The second? well... let's not go there :) Actually, it's not bad - just 1 nested class macro.

Saturday, November 08, 2008

Impulse and predicate dispatching

With a few days off from work, I had some time to renew my interest in predicate dispatching. Impulse is a language I've been toying with for a few years - here are a few more example (sorry, no runtime available :)

Impulse 2: Language Examples

Thursday, November 06, 2008

Forth as a Haskell DSL

Forth as a Haskell DSL

Forth supports function composition by nature. It's interesting how many things they have in common, even though the languages are very different.

Forth and Haskell dualities

Tuesday, November 04, 2008

Finally

Sunday, November 02, 2008

PolyD - A flexible dispatching framework in Java

http://www.cunei.com/polyd/

Sunday, October 26, 2008

The Mindscape of Alan Moore

Video: The Mindscape of Alan Moore
from Steve Dekorte's blog