Thomas Refis
9fdc759ac0
Centralized tracking of frontend's global state ( #9963 )
...
import Local_store from merlin, with a simplified API following review comments
2020-10-15 14:47:19 +02:00
Leo White
81902098b6
Fix incorrect copy_scopes in Subst
2020-06-14 08:30:33 +01:00
Leo White
80324bae54
Make substitution of type functions more robust
2020-04-18 08:02:02 +01:00
Thomas Refis
d52dd5c33e
Add a unique id to every signature item
2020-03-05 13:34:12 +01:00
Gabriel Scherer
358c7cecd5
add separability signatures in type declarations
...
(this changes the .cmi format and thus requires a bootstrap,
to follow as a separate commit)
(includes bug fixes by Rodolphe Lepigre)
2020-01-28 11:39:52 +01:00
Thomas Refis
8e928caea7
a better representation for modules with no name ( #8908 )
2019-10-09 14:15:37 +01:00
Thomas Refis
f03f510464
subst: don't lose scope
2019-08-13 14:17:46 +01:00
Leo White
acd06f1eff
Remove Misc.may_map and similar
2019-05-23 16:27:58 +01:00
Thomas Refis
aa0acfb36e
subst: explicitly rescope signatures (WIP)
2019-04-16 10:56:05 +01:00
Thomas Refis
aea19f95c7
subst: mechanical rename (scope => copy_scope)
2019-04-16 10:56:05 +01:00
Thomas Refis
d29455fcd4
enforce that every call to save_desc is necessarily followed by cleanup_types ( #2261 )
2019-02-25 09:48:50 +00:00
Thomas Refis
3a7c692274
Subst.signature: call cleanup_types exactly once. ( #2261 )
2019-02-25 09:48:28 +00:00
Runhang Li
97329f30ed
Extend `open` to arbritrary module expressions in structures and to
...
applicative module paths in signatures
2018-11-26 16:20:37 +00:00
Leo White
111d4e1827
Remove positions from paths
2018-11-21 03:39:34 -05:00
Thomas Refis
314a9ddc97
Revert "update locations for destructive substitutions"
...
This reverts commit f8a80702c0
.
2018-10-08 11:06:31 +01:00
Thomas Refis
2ccad26bd0
always associate a scope to a type (previously it was optional)
...
Previously, not having a scope meant the type was used in every context,
now we set the scope to "Btype.lowest_level" to mean the same thing.
The equivalence was made obvious by the recent changes to identifiers
scoping.
2018-10-05 10:51:26 +01:00
Thomas Refis
4d4fd525c9
move refresh_signature out of Subst, add Env.enter_signature
2018-09-21 11:48:47 -04:00
Thomas Refis
edf310ec28
properly scope idents
...
- when including: the elements are rescoped to the current level (as
well as being given a fresh stamp, which was already the case)
- extension constructors idents cannot be local: they can be used as
types when the constructor's argument is an inlined record. They must be
given a scope
- in check_recmod_inclusion: create a new scope at each iteration
- when checking that type declarations inside recursive modules are well
founded, we now take a generic instance of the declaration (this is
reminiscent of what is done in Ctype.moregeneral)
2018-09-21 11:47:44 -04:00
Hugo Heuzard
8043144494
Add locations to attributes
...
Changes
fix typo
2018-08-06 13:19:28 +01:00
Gabriel Radanne
1be47bf7ab
Just some tbl things. ( #1699 )
2018-07-23 13:19:41 +01:00
Thomas Refis
f8a80702c0
update locations for destructive substitutions
2018-05-29 15:26:16 +01:00
Thomas Refis
f509125318
slight representation change
2018-02-27 14:52:24 +00:00
Thomas Refis
3edeed67d4
add a scope field to type_expr
2018-02-27 14:52:23 +00:00
Leo White
5cb27d8ebb
Merge pull request #792 from sliquister/generalize-destr-subst2
...
Fixing the limitations on destructive substitutions
2017-09-15 09:29:29 +01:00
Fourchaux
72cfdd56e9
Typos and basic grammar error fixing ( #1280 )
2017-08-10 11:59:23 +01:00
Valentin Gatien-Baron
42adfbcd28
Fix assert false when manipulating row and object names
2017-08-01 07:40:14 -04:00
Valentin Gatien-Baron
ff05023fde
Support syntax: S with module M.N := ..
2017-08-01 07:40:01 -04:00
Valentin Gatien-Baron
f29cd5ab6d
Support syntax: S with M.N.t := ...
2017-08-01 07:32:08 -04:00
Valentin Gatien-Baron
44b6bbf5d1
Support syntax: S with type t := valid-type-expression
2017-07-29 17:18:32 -04:00
Jacques Garrigue
02c4df6dee
Fix PR#7348
2017-06-12 23:17:34 +09:00
Jacques Garrigue
e0bd0c3dcd
Fix PR#7298
2016-12-14 13:14:21 +00:00
Jacques Garrigue
5352e4b633
Fix PR#7414 by adding Mtype.lower_nongen
2016-11-21 17:59:42 +09:00
Leo White
caadb9de8a
Allow more module aliases in strengthening
2016-07-28 10:13:32 +01:00
Damien Doligez
d5a6e50ebe
GPR#606: add unboxed types
2016-07-21 13:51:46 +02:00
Jacques Garrigue
8d12ca1930
forgotten repr in subst.ml; cf. PR#7293
2016-07-20 14:49:24 +09:00
Jacques Garrigue
a4e355a757
Fixed PR#7260
2016-06-02 17:25:10 +09:00
alainfrisch
502e4f9336
More warnings when compiling the compiler.
2016-03-15 22:46:35 +01:00
Jacques Garrigue
05922fa6f9
Fix PR#7152: lower level of non-generalized variables to binding time of enclosing module
2016-03-06 23:17:45 +09:00
Damien Doligez
5401ce8473
Update headers for the new license.
...
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Will Crichton
50dd38d4b6
Add support for immediate attribute
2016-02-02 11:45:07 +00:00
Leo White
5c55e4cc08
Attach documentation comments to Parsetree
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-06-28 13:11:50 +00:00
Damien Doligez
6564974ee9
fix bug reported in https://github.com/ocaml/ocaml/pull/149
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15968 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-26 16:43:43 +00:00
Jacques Garrigue
18ed39fb36
Fix PR#6650: Cty_constr not handled correctly by Subst
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15574 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-10 09:43:30 +00:00
Alain Frisch
e3ad818fb5
Reintegrate-merge constructors_with_record5 branch.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:51:30 +00:00
Alain Frisch
64d170354c
Cleanup.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15433 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-03 11:45:23 +00:00
Jacques Garrigue
b56dc4b3df
PR#5584: merge open extensible types, extension-patch-4.0.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04 23:08:45 +00:00
Alain Frisch
d75e2c8b01
Support for record arguments on exceptions.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-01 11:46:00 +00:00
Alain Frisch
ce4c5fad1d
Rvert parts of the original commit which are not relevant with the encoding approach.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 16:17:37 +00:00
Alain Frisch
4607a0f8e1
Encode record arguments into extra record declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 12:20:22 +00:00
Alain Frisch
132ff51559
Some preparation for record arguments.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-28 17:08:53 +00:00