User loginNavigation 
An experiment: Refined types  a better type system for more secure softwareHi, fellow language enthusiasts! I recently finished an experimental, fairly simple, OCaml implementation of refined types. Refined types support logical predicates in function parameters and return types, for example: / : (int, i : int if i != 0) > int random1toN : (N : int if N >= 1) > (i : int if 1 <= i and i <= N) length : forall[t] (a : array[t]) > (l : int if l >= 0) get : forall[t] (a : array[t], i : int if i >= 0 and i < length(a)) > t
Refined types are checked by an external automatic theorem prover (Z3), and can prevent many common software errors, such as division by zero and outofbounds array access. Given correct refined types on functions Read more about it (and see the code) here! Any comments are welcome. By Tom Primožič at 20140529 11:45  LtU Forum  previous forum topic  next forum topic  other blogs  1870 reads

Browse archivesActive forum topics
New forum topics

Recent comments
22 min 17 sec ago
2 days 8 hours ago
2 days 13 hours ago
2 days 21 hours ago
3 days 6 hours ago
3 days 14 hours ago
4 days 9 hours ago
5 days 16 hours ago
6 days 2 hours ago
6 days 12 hours ago