diff options
| author | Fabian Kunze | 2020-11-27 20:58:19 +0100 |
|---|---|---|
| committer | Fabian Kunze | 2020-12-04 00:23:36 +0100 |
| commit | 0d1da885cc8ccfb9f995e5dcb0ed79e71e6020db (patch) | |
| tree | 501e2a9a38fefb98d284a4c9fb8a4aeb0854086f /engine/univGen.ml | |
| parent | a88568e751d63d8db93450213272c8b28928dbf2 (diff) | |
Better primitive type support in custom string and numeral notations.
- float and array values are now supported for printing and parsing in custom notations (and in notations defined using the ocaml API)
- the three constants bound to the primitive float, int and array type are now allowed anywhere inside a term to print, to handle them similar to `real` type constructors
- Grants #13484: String notations for primitive arrays
- Fixes #13517: String notation printing fails with primitive integers inside lists
Diffstat (limited to 'engine/univGen.ml')
| -rw-r--r-- | engine/univGen.ml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/engine/univGen.ml b/engine/univGen.ml index 6f27ccb7dc..278ca6bf34 100644 --- a/engine/univGen.ml +++ b/engine/univGen.ml @@ -65,6 +65,11 @@ let fresh_constructor_instance env c = let u, ctx = fresh_global_instance env (GlobRef.ConstructRef c) in (c, u), ctx +let fresh_array_instance env = + let auctx = CPrimitives.typ_univs CPrimitives.PT_array in + let u, ctx = fresh_instance_from auctx None in + u, ctx + let fresh_global_instance ?loc ?names env gr = let u, ctx = fresh_global_instance ?loc ?names env gr in mkRef (gr, u), ctx |
