Open jstolarek opened 5 years ago
In unify
:
let occurs_check var t =
match Settings.get_value infer_recursive_types with
| "all" -> true
| "guarded" -> is_guarded var t
| "positive" -> not (is_negative var t)
I think your second example is a slightly different issue: Those settings with only a limited range of possible values should be translated to a proper datatype, rather than being strings. This may be part of a general cleanup of the settings (cf. #537 ).
Yes, it probably is part of #537 but I wanted to record that here nevertheless. Just for future reference.
There is quite a lot of string typing in Links source code.
evalir.ml
has pattern matches in the likes of:Another example are "wild" and "hear" in a row specification. And there is probably more. We should have proper datatypes instead.