March 2018
« Nov    




What you should know about type systems

I read today, a really good essay on type systems. It covers what they can be used for and the differences between dynamic and static systems (although the word ‘type’ is used in both, it doesn’t mean the same thing at all.)

Even though I have not used Haskell, ML, or any of the other […]

Strong Typing for Security

I got into a mild argument about static vs. dynamic typing. I recognize that static typing can be verbose to the point of being repetitious. Take Java generics for example:

List<String> astr = new ArrayList<String>();

There really isn’t a great reason why the compiler can’t infer the type of the variable on the right hand […]

The Future of Publishing should be Skribilo

Finally, I found something that looks like it could suitably replace LaTeX! It’s called Skribilo and features all of the goodness observed in a previous post about using a Lisp-like syntax instead of that crufty HTML/XML nonsense.

A language should be focused on writing Internal DSLs

I’ve been reading Martin Fowler’s book, Domain-Specific Languages, this weekend. He covered a number of ways in which you can structure your code to achieve what he terms an Internal DSL. Quite a bit is focused on the discussion of a fluent interface. It turns out in many languages there are only so many ways […]

Considerations of Programming Language Design

Reddit modded up a nice review of Considerations When Designing your Own Programming/Scripting Language (it’s worth following the links provided there to Clementson’s Blog, to get a larger picture of the issue).

There’s really a ton of stuff to think about. Mostly the field of computer science concerns itself with taming complexity. All too often […]

Method Extensions

I’ve come across another programming language feature that I would like to have. The last one was a bit outlandish, and I’d really like to refine it a bit. Dress it up a little.

Supposing you were asked to perform the well known Dijkstra’s Algorithm. Someone hands you a graph of generic items, let’s call […]

The Future of the Web should be Lisp

I was reading Steve Yegge’s drunken rant on The Emacs Problem. It wasn’t able to convince me that Lisp was a great language for text processing, but it did convince me that Lisp is a fantastic language for data interchange. Especially, if that data happens to have hierarchical structure. Say for example, something like HTML.


Cultural and Linguistic Sexism

I was working on a paper today, and noticed some very peculiar about linguistic gender-neutrality. I know that we are all encouraged to use female character in our examples to combat the inherent chauvinism of the English language. Despite following the recent gender politics over at Less Wrong (summarized by a post on The Nature […]

Building Linguistic Structure

Yesterday, I had an interesting thought. My advisor once made the cultural observation that many people in Computer Science invent their own language and then immediately write a self-hosting compiler. I agree that a compiler is quite a feat of engineering and serves as a nice test case to demonstrate that the language you’ve invented […]

Computer Language Comparison

Guillaume Marceau has used data from the Computer Language Benchmark Game to provide a graphical comparison of many different languages.

If you drew the benchmark results on an XY chart you could name the four corners. The fast but verbose languages would cluster at the top left. Let’s call them system languages. The elegantly […]