Joe Duffy's Blog

  • April 8, 2005
  • DG Update: Dispose, Finalization, and Resource Management
  • Alright! Here it is: the revised “Dispose, Finalization, and Resource Management” Design Guideline entry. I mentioned this work previously here and here. At ~25 printed pages, it’s not what I would consider to be a minor update. Took me much longer than anticipated, but I’m happy with the result. I got to work with and received good amounts of feedback from HSutter, BrianGru, CBrumme, Jeff Richter, and a couple other folks on it… Good fun.

  • April 3, 2005
  • Haskell, STM, and love
  • I love Haskell. So much that I’m now writing a compiler for it. In my “spare” time, of course. (Which means just a couple hours a week since my book is priority #1 at the moment.) :)

  • March 30, 2005
  • Sencha and XML processing
  • I now have some level of platform interop working with Sencha. By “platform interop,” I mean writing code that uses functions defined elsewhere (i.e. not Scheme built-ins and not custom written stuff). The gunk that enables this usually ends up making a best guess at binding, in some cases performing operations to bridge the type system gap that exists.

  • March 23, 2005
  • DG Update: Generics and Performance
  • This can probably fall into the “paranoid programmer” category… where this time the paranoia is not about async exceptions, but rather about pulling in the JIT unnecessarily.

  • March 18, 2005
  • Atomicity and asynchronous exception failures
  • I recently sent this out to an internal audience. I saw no reason not to share it with external folks, too… Although most of it probably won’t be of interest, maybe somebody out there will get something useful from it.

  • February 3, 2005
  • Explicit layout structs and unions
  • During our chat yesterday, a question came up about explicit layout structs.

  • January 21, 2005
  • Delegates v2.0, co- and contravariant support
  • In Whidbey, we have a few great changes to delegates, two of which are particularly cool for languages of all sorts.

  • January 13, 2005
  • Throwing, catching, and a little bit of paranoia
  • The CLR employs a two phase exception handling model. In the first phase, the stack will be searched for an appropriate exception handler (i.e. one who’s filter is able to deal with the exception), and in the second, the stack will unwind until the frame containing the handler is reached. Unwinding the stack causes finally blocks on the frames being blown through to be executed in the process. This does mean, however, that filters further up in the stack get a chance to run before finally blocks, resulting in some potentially odd behavior.

  • December 31, 2004
  • More on Sencha type safety
  • So I’ve decided to go back and try to do some static type checking for Sencha. This is for a few reasons:

  • December 24, 2004
  • Paul Graham on great hackers
  • Paul Graham has some very thought proviking opinions, expressed both in his online essays and new book.