archives

Theme previews

The themes are a very nice touch, but switching between them is kind of heavyweight right now. Would it be possible to have previews of the homepage with each theme applied?

Interactive Programming

By way of Joe Marshall in comp.lang.lisp:

Here's an anecdote I heard once about Minsky.  He was showing a
student how to use ITS to write a program.  ITS was an unusual
operating system in that the `shell' was the DDT debugger.  You ran
programs by loading them into memory and jumping to the entry point.
But you can also just start writing assembly code directly into memory
from the DDT prompt.  Minsky started with the null program.
Obviously, it needs an entry point, so he defined a label for that.
He then told the debugger to jump to that label.  This immediately
raised an error of there being no code at the jump target.  So he
wrote a few lines of code and restarted the jump instruction.  This
time it succeeded and the first few instructions were executed.  When
the debugger again halted, he looked at the register contents and
wrote a few more lines.  Again proceeding from where he left off he
watched the program run the few more instructions.  He developed the
entire program by `debugging' the null program.

Related Weblogs

Many in the weblog community are interested in programming and programming languages. Following are some PL related personal weblogs you may enjoy reading. The LtU community is part of the larger blogging community full of of insightful people. Fun!


Planets:

Constraint-Based Type Inference for Guarded Algebraic Data Types

Constraint-Based Type Inference for Guarded Algebraic Data Types. Vincent Simonet and Francois Pottier.

Guarded algebraic data types subsume the concepts known in the literature as indexed types, guarded recursive datatype constructors, and first-class phantom types, and are closely related to inductive types. They have the distinguishing feature that, when typechecking a function defined by cases, every branch may be checked under different typing assumptions. This mechanism allows exploiting the presence of dynamic tests in the code to produce extra static type information.

We propose an extension of the constraint-based type system HM(X) with deep pattern matching, guarded algebraic data types, and polymorphic recursion. We prove that the type system is sound and that, provided recursive function definitions carry a type annotation, type inference may be reduced to constraint solving. Then, because solving arbitrary constraints is expensive, we further restrict the form of type annotations and prove that this allows producing so-called tractable constraints. Last, in the specific setting of equality, we explain how to solve tractable constraints.

To the best of our knowledge, this is the first generic and comprehensive account of type inference in the presence of guarded algebraic data types.

Seems rather interesting.

Site usage question...

The new site looks great, and it's wonderful to see LtU so fast, but I'm having a bit of trouble. I'm not sure how others generally use the site, but my m.o. has always been to read each comment that gets posted, in sequential order, and use my browser history (colored links) to tell me which ones I haven't seen. (For the record, I like mailing lists and dislike web forums, and this is the method that makes LtU act as much as possible like an email list.)

So, literally the only index page on LtU1 that I ever looked at was this one. I can't find a page like that on the new site! So I've been digging around trying to find the equivalent, but I'm concerned there's just no such thing. Does anyone have any recommendations? How do you guys use the site?

Code Generation Netwrok

A nice site dedicated to all things related to code generation.

This site includes a detailed list of code generators for various languages and platforms.