Definicja typu F # z wyrażeniem

Czy można wyrazić coś takiego:

type id = int > 0

Wiem, że nie można tego zrobić statycznie, ponieważ oznaczałoby to, że F # ma typy zależne. W C # jestem używany do robienia tego rodzaju rzeczy z kontraktami na kod i uzyskiwania egzekwowania runtime. Szukam czegoś podobnego tutaj.

Dzięki

EDYCJA: Dziękujemy za wszystkie odpowiedzi, które mają różne zalety i wady. W monicie używam tylko małego podzbioru F #, podzbioru rdzenia ocaml, który łatwo nadaje się do programowania dowodów. Więc nie ma zajęć.

questionAnswers(4)

yourAnswerToTheQuestion