Monday, June 30, 2014

negative and fractional types

I'm entranced by http://www.cs.indiana.edu/~sabry/papers/rational.pdf: "The Two Dualities of Computation: Negative and Fractional Types" by James and Sabry from Indiana Uni. Amazing. Not that I really understand the implications.

Note that it is about a reversible language which can't be a full Turing complete language. But the reversible parts of a language are very important. They arose naturally in the design of Wombat where inverse pairs are important in a number of places. An explicit procedure takes the input and generates an output by unification. A single explicit procedure can generate an inverse/adjoint pair of procedures if the input ($) and output (`$) can be interchanged and produce a valid inverse procedure.

So I would love to understand the paper better and build it into Wombat, making the reversible part of the language a more important core part. Mercury is a language which puts special emphasis on the reversible bits. I should learn more about it.

There is a fascinating similarity to quantum mechanics, which is a core and reversible part of physics. And of course, the next level up in physics, where time only goes forward and entropy increases, then seems to have some similarity to a complete programming language. Hmm...

No comments:

Post a Comment