2 Apr 2001 (updated 2 Apr 2001 at 07:46 UTC)
»
Long time no blog
Now working for Dot
C. Just delivered a certain product which I'm not
allowed to talk about (but it's no secret that it has
something to do with Alias|Wavefront Maya).
BTW, ajv is right: working in Melbourne for US
dollars kicks just about every appropriate part of the
anatomy. You have the best of all worlds. I live in two
blocks from Lygon St Carlton, too, so I never want for good
coffee. It just doesn't get better than this.
slinc
This weekend, I officially threw away the throwaway copy
of slinc. I'm
now rewriting it in Haskell instead of C++.
While I like C++ a lot for many applications, I've decided
that compilers and C++ are not a good fit.
The obvious way to implement an abstract syntax tree in
C++ is using the composite pattern, with the various passes
implemented using virtual functions. Adding a pass means
altering every object, even if the pass only needs
to act on a small part of the tree. This encourages bigger
passes which do more, which can make youre code quite
unclear. A much better fit is algebraic types, so that's
what I'm doing. That way, I'm not punished for wanting to
implement lots of small passes.
Of course, any language with strong typing, algebraic
types and pattern matching would probably be up to the
job. I just happened to install ghc for
an unrelated reason (I tutor first year CS students in
Haskell), so I figured "why not".