Stronger static types, was Re: [Haskell-cafe] Re: Versioning

Jan-Willem Maessen jmaessen at alum.mit.edu
Fri Dec 22 08:28:01 EST 2006


On Dec 21, 2006, at 5:03 PM, Jacques Carette wrote:

> ...
> What must be remembered is that full dependent types are NOT needed  
> to get a lot of the benefits of dependent-like types.  This is what  
> some of Oleg's type gymnastics shows (and others too).  My interest  
> right now lies in figuring out exactly how much can be done  
> statically.
> For example, if one had decent naturals at the type level (ie  
> naturals encoded not-in-unary) with efficient arithmetic AND a few  
> standard decision procedures (for linear equalities and  
> inequalities say), then most of the things that people currently  
> claim need dependent types are either decidable or have very strong  
> heuristics that "work" [1].

My understanding is that BlueSpec did roughly this.  As we're  
discovering in Fortress, type-level naturals are a big help; faking  
it really is horrible, as unary representations are unusable for real  
work and digital representations require a ton of stunts to get the  
constraints to solve in every direction (and they're still ugly).

I for one would welcome a simple extension of Haskell with type-level  
nats (the implementor gets to decide if they're a new kind, or can  
interact with * somehow).

-Jan-Willem Maessen

[PS: hadn't seen the LNCS reference before, thanks to Jacques for  
sending that along.]


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2425 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20061222/f1df8906/smime.bin


More information about the Haskell-Cafe mailing list