User loginNavigation |
Type TheoryUnchecked Exceptions can be Strictly More Powerful than Call/CCHere's a little light reading for your day-after-Labor-Day (or whatever yesterday was where you live): Unchecked Exceptions can be Strictly More Powerful than Call/CC, Mark Lillibridge and Olivier Danvy, 1999, Higher-Order and Symbolic Computation.
I have to say that on seeing the title I was surprised: I cut my functional teeth on Scheme and every baby Schemer sucks up the knowledge that call/cc lets you create all manner of flow control including exceptions. But, as the paper makes clear, that's not necessarily the case in a statically-typed context. Edit: Citeseerx was not responding very well, here's an alternative URL for the paper. By James Iry at 2008-09-02 15:39 | Functional | Lambda Calculus | Type Theory | 16 comments | other blogs | 56092 reads
Relational Parametricity and Units of MeasureRelational Parametricity and Units of Measure, Andrew J. Kennedy, POPL 1997.
There's a new release of F# coming out with support for measure types, and so I thought I'd post a link to Andrew's paper about the subject. Now, if you've done any physics or engineering, you're probably familiar with the fact that units can sometimes really strongly constrain what form your equations can take. If you studied dimensional analysis more carefully than I did, you might even have learned that this is a consequence of the Buckingham pi theorem -- you can prove that if you have an equation with n variables involving k physical units, you can recast it as an equation with (n - k) dimension-free variables. Kennedy shows that the analogue of this theorem for programs in his language is a form of parametricity result at first order, which is quite slick. Differentiating regionsAs a follow up to the previous post, check out how Chung-chieh Shan applied regions to a seemingly unrelated problem. His post begins by explaining how automatic (numerical) partial differentiation can be implemented, and goes on to show how to use regions to avoid mixing-up the variables being differentiated. By Ehud Lamm at 2008-08-08 19:44 | Fun | Functional | Type Theory | 4 comments | other blogs | 6766 reads
Lightweight Monadic Regions
Oleg Kiselyov and Chung-chieh Shan. Lightweight Monadic Regions. Haskell'08.
We present Haskell libraries that statically ensure the safe use of resources such as file handles. We statically prevent accessing an already closed handle or forgetting to close it. The libraries can be trivially extended to other resources such as database connections and graphic contexts... I am starting to think we need a department for effect systems and related topics (though we managed without a monads department!)... You'll probably want to read the code, so go ahead. The code makes it plain which features of the type system are needed to achieve the end result. By Ehud Lamm at 2008-08-06 16:57 | Functional | Software Engineering | Type Theory | 10 comments | other blogs | 11208 reads
Parametric Higher-Order Abstract Syntax for Mechanized SemanticsParametric Higher-Order Abstract Syntax for Mechanized Semantics
I was aware of this some months ago now, but held back commenting on it at Adam's request until it had been accepted for publication, which it now apparently has. This is (one element of) Adam's continued work on LambdaTamer, his Coq-based environment for building certified compilers. There is a new version of LambdaTamer using this parametric higher-order abstract syntax approach. The new version also works in current and future versions of Coq, unlike the previous version. Finally, Adam is apparently working on a paper regarding "type-theoretic denotational semantics for higher order, impure object languages" and is post-docing with Greg Morrisett. The relationship between Adam's work and the YNot project is a bit unclear to me; perhaps either Adam or Greg could help clarify that. Update: Whoops. I got ahead of myself and neglected to notice that the paper is not actually yet available, although the new version of LambdaTamer is. So at the moment, this story is merely to note that the paper exists and to provide a link to the new LambdaTamer. My apologies to Adam and the LtU readership. 2nd Update: The paper is now available at the link, in either PostScript or PDF form. By Paul Snively at 2008-06-16 15:44 | Functional | Implementation | Type Theory | 1 comment | other blogs | 17595 reads
Types Considered HarmfulBenjamin C. Pierce's presentation slides (in PDF) for his talk on Types Considered Harmful. The talk starts out discussing some of the general advantages and disadvantages of static typing. But the aim of the talk centers on the problems of building a type checker for the Boomerang Programming Languague (an offshoot of harmony).
Pierce's work is currently centered on creating a PL for Bidirectional Programming. A work in progress but it's interesting to see the thought process behind language design in real-time. Flexible types: Robust type inference for first-class polymorphismFlexible types: Robust type inference for first-class polymorphism, by Dan Leijen: Seems there's been a flurry of activity on first-class polymorphism recently, with HML, FPH, and HMF as simpler alternatives to full MLF. FPH: First-class Polymorphism for HaskellFPH: First-class Polymorphism for Haskell, by Dimitrios Vytiniotis, Stephanie Weirich and Simon Peyton Jones:
Under Related Work, the authors provide a detailed comparison of their system with MLF, and HMF. HMF: Simple type inference for first-class polymorphismHMF: Simple type inference for first-class polymorphism - Daan Leijen, Draft April 8, 2008.
An excellent paper even in its current draft form. I also placed this under the learning category, because Daan's writing style is lucid enough that the concepts can be understood by relative newcomers to the field of type theory By cdiggins at 2008-04-20 16:23 | Teaching & Learning | Type Theory | 2 comments | other blogs | 9814 reads
Algebra of programming using dependent typesAlgebra of programming using dependent types. S-C. Mu, H-S. Ko, and P. Jansson.
|
Browse archives
Active forum topics |
Recent comments
4 weeks 2 days ago
4 weeks 3 days ago
4 weeks 4 days ago
4 weeks 4 days ago
5 weeks 2 days ago
5 weeks 2 days ago
5 weeks 2 days ago
8 weeks 3 days ago
9 weeks 1 day ago
9 weeks 2 days ago