[Agda] Jobs combining type theory and web programming

Adam Chlipala adam at chlipala.net
Sun Feb 6 21:20:34 CET 2011


Some might argue that you can derive False from a sentence containing 
both "dependent types" and "contract programming."  I'm writing to 
provide evidence to the contrary, as I'm looking for collaborators on a 
commercial venture where I'm trying to bring ideas from 
dependently-typed programming into the real world.

For a few years, I've been working on the Ur/Web domain-specific 
language for web application programming:
     http://www.impredicative.com/ur/
Ur is a core language that starts from a subset of CIC that drops type 
dependency but keeps some of the interesting type-level computation 
possibilities.  A heuristic type inference engine tuned to this subset 
makes it possible to write interesting metaprograms with two key properties:
     1) Metaprograms rarely need to include proof terms.
     2) Application code rarely needs to include type annotations at 
metaprogram invocations.
Metaprogramming is very popular in the mainstream web frameworks, with 
programs generating application skeletons automatically, based on inputs 
like database schemas.  In Ur/Web, such generators may be type-checked 
independently of specific inputs, with strong guarantees about 
correctness and security.  There are also interesting things going on 
with abstraction and modularity, based on what you get when you combine 
strongly-typed encodings of SQL and XML syntax with ML-style modules and 
Haskell-style type classes.

I have been designing the language and its toolset to scratch itches I 
have felt while doing web programming.  This is a hybrid of a research 
project and a practical tool.  To further that second bit, I've been 
working on using Ur/Web in real commercial engagements.  I'm pleased to 
report that, in 2011, I have infinitely more such customers than I did 
in 2010.

This brings me to the point of the message: I'm looking for 
collaborators who are interested in doing various commercial things with 
Ur/Web.

I have one paying customer now for whom I'm doing contract programming, 
with an opportunity to bring a paid full-time programmer into that 
project more or less immediately.  I'm interested in trying to expand 
this sort of business; I want to take over the world of web programming 
and prove that advanced type system stuff is a killer competitive advantage.

I'm also keen on the idea of getting involved with start-up company 
efforts that would like a secret weapon for building high-quality web 
applications more effectively than the competition can.

If any of this sounds interesting, please e-mail me.  I would like to 
get in touch both with folks who would consider pursuing this sort of 
thing full-time, and with people like me who are mostly interested in 
doing research but also want to put in some time on "technology 
transfer."  The project has so far generated two research papers at top 
conferences, and I'm hoping for more of the same, based on experience 
gained with real-world applications.


More information about the Agda mailing list