Browse thread
Compiler feature - useful or not?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Fernando Alegre <fernando@m...> |
| Subject: | Re: [Caml-list] Compiler feature - useful or not? |
Even better would be to have a "parametrized finite" type. This would really need to be built into the compiler, as I don't think it can actually be emulated by either camlp4 or the C interface. The idea is very simple: add a primitive "n finite" type to the language, where n is a positive integer constant. For example: type bit = 2 finite type mod3 = 3 finite Then, fill the type by coercion so that "(x :> n finite)", where both x and n are known to be constant at compile-time and 0 <= x < n, becomes a value of type "n finite". This should be pretty straightforward to implement, and it may simplify code that depends on types such as "T1 | T2 | T3 | T4" I don't know how much it would be possible to relax the constraint above while maintaining the typesystem sound. Does anybody whether this is a known problem? Thanks, Fernando On Fri, Nov 16, 2007 at 05:43:39PM +0100, Martin Jambon wrote: > > Please don't take my suggestions too seriously, but it could be cool to > define types such as: > > type bit = [ 0 | 1 ]