October 2023
« Sep    




Flexible Iterators

Java has some odd quirks which make it far more inflexible than it needs to be. For example, many programs have data structures which need to be iterated both forwards and backwards, and some algorithms require treating the first or last element differently than the others. My goal here is to find a tweak […]

Stack Storage and Garbage Collection

Recently, I ran across Mike Vanier’s page containing his opinions on Scalable Computer Programming Languages. I agree almost entirely with his list:

garbage collection no pointers or pointer arithmetic a foreign function interface to the C language static type checking with type inference support for exception handling run-time error checking for errors that can’t be […]

Booze Poetry: Three Philosophers

Last night I drank a Three Philosophers Belgian Style Blend (Quadrupel), and decided to write some more descriptive verse:

Tonight, I drank up the philosophy of my three Beligan friends. Throughout the night we opined strongly about the mysticism of our bubbling climate. The arguments flowed with intense flavor, penetrating deep into my consciousness. […]

Booze poetry

Last night, Ben and I conversed about mixing drinks. He pointed me to a drink containing Chartreuse VEP by the Cocktail Whisperer. Inspired by the opulent verbiage, I wrote the following:

Not satisfied with an insubstantial vodka, I prowl around the liquor cabinet. Deep in back, under cover of dust, I find a dark […]

Cognition and Linguistics

I see the study and development of computer languages as two sides of the same coin. A computer language should enable the programmer to express, clearly and concisely, an algorithmic intent. It should not burden the programmer with a particular model of computation, ex.

Cognition of Linguistics ————————–

In order that we express to […]

Embedded Languages

I don’t like them.

I’ve ranted before about how the Web is a festering polyglot made horrific by Postel’s Law. Many, including Tim Bray, advocate more knowledge at the client end, when an error occurs in parsing the steaming pile of HTML that forms today’s Web pages. I almost fell in line […]

Measuring Effectiveness of a Domain Specific Language

Also, at CGO I met Hassan Chafi, who is working on a graph-based Domain Specific Language. Even though I never seem to find time that I can explicitly devote to studying them, DSL’s are, to me, an compulsively fascinating topic. A day or so after the discussion it occurred to me that we need some […]

Experience, CGO 2012

I attended CGO 2012. The speakers were universally boring, but the conversations that you have with other attendees can be quite interesting. For example, I have been thinking that the hodge-podge babel of languages that makes up web applications should be replaced with something more lispy. William Maddox, currently at Adobe, shares the same opinion […]

Express yourself: to the compiler and to your fellow developer.

The keynote speaker at CGO 2012 (Chris Lattner, LLVM) put some crazy thoughts into my head.

Want compiler to know about:

memory disjointness aliasing Usage of data structures (array of struct vs struct of arrays) whether arithmetic is done on a pointer (and the bounds) invariants (in loops and between methods)

A language needs to […]

Editor Wars

Normally, I use vi for most of my editing work. But, I’ve been hearing much about emacs and its ability to do a better job at syntax highlighting, code completion, spell checking, even a writegood-mode for detecting passive voice. Emacs might be a pretty good editing OS, but it doesn’t come with an editing language. […]