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

Browse archivesActive forum topics 
Recent comments
2 hours 26 min ago
4 hours 27 min ago
7 hours 15 min ago
7 hours 37 min ago
8 hours 21 min ago
9 hours 17 min ago
9 hours 19 min ago
9 hours 51 min ago
11 hours 17 min ago
13 hours 51 min ago