Evan Martin (evan) wrote in evan_tech,
Evan Martin


Reading for the weekend: a bit more philosophical and historical. The (after the fact) focus has been on challenging underlying assumptions.

Simula and Smalltalk: A Social and Political History, from my old teacher Ben Dugan. CS history is really fascinating because the field feels so ahistorical to me; we use objects because they make sense, right? But even in other papers I see mention of OO programming as a sort of accident from simulation (Simula) and then hippies (Smalltalk). snej had a great post about the Dynabook that belongs here, too.

Understanding Computers and Cognition (sorry, only in paper form!), but I'm only a third of the way through it. I haven't decided if it's worthwhile yet, but I've seen it on a few "most important books" lists. And I know it's good for me to keep a healthy distrust of our fundamental assumptions.

Also working on the parsing book (which I'll put up somewhere the next time I think about it). Again, I hardly ever consider languages other than context-free grammars, but there is so much more.

And overall, I keep reading Sexy Types in Action, an overview of the power of some more advanced type concepts (higher-rank polymorphism and existential types), again and again in hopes of understanding it more fully. Type systems are again something that I've always taken for granted-- that we're stuck with what exists-- and focusing on ML's type system leads me to that same trap again. I think this is really the crux of it for me:
As we have seen, skillful use of sexy types can often turn what is usually regarded as a runtime invariant into a static check at compile time. To implement such static checks is to reify dynamic properties of values as refined distinctions between types, which increases the degree of heterogeneity in the program.

  • your vcs sucks

    I've been hacking on some Haskell stuff lately that's all managed in darcs and it's reminded me of an observation I made over two years ago now (see…

  • inspiration

    _why: "when you don't create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create."

  • perl people, explain your language to me

    Every time I use perl I feel mildly positive about it right up until I encounter CPAN. I've never managed to make CPAN work, despite the multitude of…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.