archives

Uniqueness Types Instead STM

I have a question. Isn't it more useful to bring uniqueness type to languages like C# and JAVA, instead of implementing STM in VMs?
STM has more impact on what developers and compiler is doing by now. But most of the code we are developing by now are not concurrent by default. So if the current type systems force "uniqueness type" for all imperative-types in C# or Java, most of our programs that are already developed, should work.
On the other hand concurrent programming model will not change current developing methods very much, and syntax remains almost untouched.
(Of course I prefer a expression-based, declarative language. But that would not happen without a Microsoft or Sun behind it! :) )

Binary Lambda Calculus and Combinatory Logic

While Anton was waxing about Church & Turing, I figured that Occam's Razor would be the type of proof one would postulate when giving the nod to Lambda Calculus over Universal Turing Machines. This leads inexorably to the question of what is the smallest (as measured in binary bits) Turing Machine that can possibly be constructed. John Tromp provides an answer to this question in his always fun Lambda Calculus and Combinatory Logic Playground:

Pictured you can see the 210 bit binary lambda calculus self-interpreter, and the 272 bit binary combinatory logic self-interpreter. Both are explained in detail in my latest paper available in PostScript and PDF. This design of a minimalistic universal computer was motivated by my desire to come up with a concrete definition of Kolmogorov Complexity, which studies randomness of individual objects. All ideas in the paper have been implemented in the the wonderfully elegant Haskell language, which is basically pure typed lambda calculus with lots of syntactic sugar on top.

Interestingly, the version based on the Lambda Calculus is smaller than the one on Combinators. A statement I found of interest in the paper about PL's:

Although information content may seem to be highly dependent on choice of programming language, the notion is actually invariant up to an additive constant.

Not sure if that statement means that PL research is ultimately doomed. :-)

FringeDC Formal Meeting 1PM Saturday Sept 22nd

FringeDC is a group interested in exploring fringe languages, such as Lisp, Haskell, Prolog, ML, etc.

Presentation Title: "Emacs as a Development and Deployment Paradigm" by Philip Fominykh

(Also, Jame Webb and Conrad Barski will discuss the EMACS port of "Casting SPELs in Lisp", a Lisp tutorial/comic book.)

meeting location/details: http://www.lisperati.com/sept22.html
main site: www.lisperati.com/fringedc.html