User loginNavigation |
Category TheoryArrows generalise monads and idioms
Two fresh papers from the Edinburgh theory stable:
Species: making analytic functors practical for functional programmingSpecies: making analytic functors practical for functional programming, Jacques Carette and Gordon Uszkay. Submitted to MSFP 2008.
Learning more about the theory of species and working out its implications for programming has been on my to-do list for several years now. It really seems like the natural way to more tightly integrate combinatoric ideas into the functional programming style. (For an example of how fruitful this connection can be, consider how datatype differentiation explains zippers/functional pointers.) However, there's been this whole "graduation" and "primary research focus" stuff that's kept getting in the way, so I'm happy to see that Carette and Uszkay are figuring it out so I can just crib from them. :) Help John Baez and Mike Stay!John Baez and Mike Stay are working on a book chapter titled "Categories in Physics, Topology, Logic and Computation: a Rosetta Stone." They previously asked for some help with the logic section, and now they're looking for help with the computation section:
This is already a great introductory paper, but the computation section is indeed quite rough. Obviously comments are welcome, but even if you don't have anything to add, the first sections are sure to be enjoyable for many LtU readers. The paper does not assume any background in category theory, logic or physics and manages to be an excellent introduction to the surprising connections between these fields. If you have some background, it's a very quick and fun read, and if you can offer feedback, so much the better! Parametric datatype-genericity
Parametric datatype-genericity. Jeremy Gibbons and Ross Paterson. Submitted for publication.
Datatype-generic programs are programs that are parametrized by a datatype or type functor. There are two main styles of datatype-generic programming: the Algebra of Programming approach, characterized by structured recursion operators parametrized by a shape functor, and the Generic Haskell approach, characterized by case analysis over the structure of a datatype. We show that the former enjoys a kind of parametricity, relating the behaviours of generic functions at different types; in contrast, the latter is more ad hoc, with no coherence required or provided between the various clauses of a definition. How could we have not mentioned this before? The main result of this paper is that fold is a higher-order natural transformation. This means, the authors explain, that fold is a rather special kind of datatype-generic operator, both enjoying and requiring coherence between its datatype-specific instances. We had several long discussions about the uniqueness of fold, which may serve as an introduction for those new to this sort of discussion. The tutorial on the universality of fold is, of course, on the papers page. For some reason I feel a craving for bananas... By Ehud Lamm at 2007-12-04 07:24 | Category Theory | Functional | 6 comments | other blogs | 2201 reads
A Logic for Parametric PolymorphismA Logic for Parametric Polymorphism, Gordon Plotkin and Martín Abadi.
By neelk at 2007-04-13 22:27 | Category Theory | Lambda Calculus | Semantics | Theory | login or register to post comments | other blogs | 2359 reads
A Topos Foundation for Theories of PhysicsA Topos Foundation for Theories of Physics: I. Formal Languages for Physics. Andreas Döring and Chris Isham.
This is a little outside of our usual areas, but I think it will appeal to at least some readers. Personally, I find the approach aesthetically very, very appealing for several reasons, and I would be thrilled if an answer to quantum cosmology came from this direction, but I'm the first to admit that my grasp of the phsyics is barely enough to follow along. I was able to make it through this paper fairly easily, but things aren't too interesting in the classical case, and I sadly suspect that the application to quantum physics in parts II and III will leave me behind. Via The n-Category Cafe, where there is also considerable discussion, much of it around the single word "peristalithic"... By Matt Hellige at 2007-03-21 05:13 | Category Theory | Type Theory | 8 comments | other blogs | 3251 reads
Propositions as [Types]Propositions as [Types], Steve Awodey and Adrej Bauer.
I figure I should say a few words about why proof irrelevance is an interesting idea. In math, you often want to consider elements of a certain type that have certain properties -- for example, you might want the set of satisfiable boolean formulas as part of a proof as a hypothesis of a theorem. The way you might represent this in dependent type theory is by giving a pair, consisting of a formula and a satisfying assignment. You might write this as One way of addressing this problem is to treat the second component of the pair as a proof irrelevant type. The basic idea is that for each type I should also add that this is an old idea in type theory; this is the paper that made it clear to me. (Thanks to Bob Harper for suggesting clarifications to my comments.) By neelk at 2007-03-03 19:19 | Category Theory | Type Theory | 5 comments | other blogs | 2523 reads
Using Category Theory to Design Implicit Conversions and Generic OperatorsUsing Category Theory to Design Implicit Conversions and Generic Operators, John C. Reynolds, 1980. (Try this if the official link doesn't work.)
This is an old, but still cute, paper. The basic intuition is that a good design principle for a language with implicit conversions is that whatever order of conversions the language takes, you should get the same result. He then formalizes that by giving a category of types and conversions, and demanding that everything commute properly. And these give just the conditions the language designer has to check to make sure that he or she hasn't screwed anything up. Someone could probably get a fun little paper by taking this idea and shooting some dependent types into it. (Maybe somebody already has?) If you've got an abstract type, a coercion function, and a proof that it satisfies Reynolds' conditions, now your compiler can silently insert those coercions for you as needed, but you can still be sure that it won't mess up the meaning of your program. Holodeck games and CCCsFrom the n-Category Cafe, some notes on Holodeck Games and cartesian closed categories. This also appeared here (and was mentioned by Phil Wadler). The two posts seem to have different addenda, comments and links, so it may be worth looking at both. It's fun to see lambda calculus introduced to an audience already familiar with categories, as that seems to be the opposite of the usual state of affairs around here, and I can think of certain LtU regulars who will hopefully find this whole subject enjoyable. By Matt Hellige at 2006-10-23 23:03 | Category Theory | Fun | Lambda Calculus | login or register to post comments | other blogs | 2811 reads
Arrows, like Monads, are MonoidsBy Chris Heunen and Bart Jacobs
By Jim Apple at 2006-09-30 19:04 | Category Theory | Functional | Lambda Calculus | 3 comments | other blogs | 4350 reads
|
Browse archivesActive forum topicsNew forum topics |