[Haskell-cafe] Microsoft PhD Scholarship at Strathclyde

Dan Doel dan.doel at gmail.com
Sat Mar 14 14:48:29 EDT 2009


On Saturday 14 March 2009 1:07:01 pm Conor McBride wrote:
> But this...
>
> >  2) A family of singleton types int(n) parameterized by the static
> > type.
> >     For instance, int(5) is the type that contains only the run-time
> > value 5.
> >  3) An existential around the above family for representing arbitrary
> >     integers.
>
> ...I like less.

Well, I don't actually like it, either. Finding this out rather disappointed 
me.

> I'd certainly agree that ATS demonstrates the benefits of moving
> in this direction, but I think we can go further than you suggest,
> avoiding dead ends in the design space, and still without too
> much shaking up. I don't think the duplicate-or-plunge dilemma you
> pose exhausts the options. At least, I seem no reason to presume
> so and I look forward to finding out!

I didn't mean to suggest that ATS is the best you can do. Merely that you can 
still get a lot done without going very far beyond what is technically 
possible (though not enjoyable) in GHC today (to the point that people will 
actually categorize your language as "dependently typed" when it merely has a 
type language comparable in richness and convenience to the value level, but 
is still mostly separate).

So adding more faux dependent typing (like ATS or Omega) isn't just wasting 
time when we should be figuring out how to compile Agda efficiently, because 
simply making type-level programming easy, while maintaining a strict divide 
between values and types may well be good enough in practice, until the Agdas 
and Epigrams come into their own.

If you can do better than ATS, and have value-level stuff automatically 
reproduced at the type level and suchlike, so much the better. I fully support 
that. :)

-- Dan


More information about the Haskell-Cafe mailing list