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  1002 reads

Browse archivesActive forum topics 
Recent comments
23 min 59 sec ago
53 min 23 sec ago
1 hour 20 min ago
5 hours 25 min ago
13 hours 25 min ago
21 hours 38 min ago
21 hours 48 min ago
23 hours 16 min ago
1 day 15 hours ago
1 day 16 hours ago