Thanks, this explanation is what I was looking for.   Wikipeidia has an explanation on it also:

http://en.wikipedia.org/wiki/System_F#System

daryoush

On Wed, Feb 18, 2009 at 2:08 AM, Stephan Friedrichs <deduktionstheorem@web.de> wrote:
Daryoush Mehrtash wrote:
> Is there a way to define a type with qualification on top of existing
> type (e.g.  prime numbers)?   Say for example I want to define a
> computation that takes a prime number and generates a string.   Is there
> any way I can do that in Haskell?

Haskell's type system is decidable, so you can't let the type system
check arbitrary properties. It probably is possible in C++ by some
template hack (C++ templates are Turing complete), but not in Haskell.
But, as mentioned in the other responses, you can

 - use a representation that makes it impossible to use wrong values
  (-> Ketil's n-th prime representation)

 - check values at runtime (-> Luke's repsonse)

//Stephan

--

Früher hieß es ja: Ich denke, also bin ich.
Heute weiß man: Es geht auch so.

 - Dieter Nuhr
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe