Alain Frisch
97c5f1a253
Attributes on label in record type declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13361 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 13:51:18 +00:00
Alain Frisch
d50038cae7
Attribute has structure/signature item.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:27:32 +00:00
Alain Frisch
2cf65c8c85
Record for module type declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:14:02 +00:00
Alain Frisch
24a0c6eb0e
Name is part of the value_description record.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13357 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:00:18 +00:00
Alain Frisch
241abe55e6
Type name is part of the type declaration record.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13356 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 11:47:59 +00:00
Alain Frisch
59bdf321d3
Switch Pstr_modtype argument to a record type.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13355 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 10:49:44 +00:00
Alain Frisch
d32b19008a
Parse recursive module as standard modules, and check in the type-checker that an explicit type is provided. (Unfinished.)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 16:50:05 +00:00
Alain Frisch
cc70961d4f
Support item attributes on exn rebind.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:44:40 +00:00
Alain Frisch
b01b7305bd
Put name in the exception_declaration record.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:37:17 +00:00
Alain Frisch
42a33460ed
Item attributes on classes.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:06:38 +00:00
Alain Frisch
db579b0a1e
Extension as structure/signature items [%%lid expr].
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 11:46:25 +00:00
Alain Frisch
8461db39f1
Attributes on module/module type/recursive module declarations in interfaces.
...
Module:
[^^id expr] [^^id expr] ...
module X : S
[@@id expr] [@@id expr] ...
Module types:
[^^id expr] [^^id expr] ...
module type X = S
[@@id expr] [@@id expr] ...
Recursive modules:
module rec [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...
and [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13344 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 17:39:07 +00:00
Alain Frisch
a5059464fe
Attributes on open/include in signatures.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:36:32 +00:00
Alain Frisch
46c790a663
Attributes on exception declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:20:49 +00:00
Alain Frisch
2825f94d5b
Attributes on value declared in signatures.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13341 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:03:20 +00:00
Alain Frisch
5f0aead005
Adding attributes on constructor declarations (type t = A [@id expr] | B [@id expr] of ...), and switch to a record type to represent those constructor declarations in the Parsetree.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:35:47 +00:00
Alain Frisch
be76a15a6b
Attributes/extensions as module types.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 14:11:15 +00:00
Alain Frisch
a2acbc8d3b
Adding extension/attribute on patterns.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 13:52:23 +00:00
Alain Frisch
e58b2cd036
Continue.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 12:54:57 +00:00
Alain Frisch
c8d3ff52a2
Cleanup + support attributes on type declarations (syntax: type t = ... with (:a1 expr1) (:a2 expr2) ... (:an exprn)).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-01 12:44:04 +00:00
Alain Frisch
152255e512
First version with attributes and extensions on expressions, type expressions and structure items.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-28 16:51:59 +00:00
Damien Doligez
4e20a37f46
fix white space
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13127 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 13:15:22 +00:00
Damien Doligez
0c14bdda48
fix whitespace and long lines
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-08 20:55:42 +00:00
Damien Doligez
def31744f9
remove all $Id keywords
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Fabrice Le Fessant
d39d43e55f
merge with branch bin-annot
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Alain Frisch
33eefe4874
Remove unused constructors in the AST: Cf_let, Pcf_let.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11968 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 13:27:07 +00:00
Alain Frisch
ece3353035
#5358 : package types allow constraints on typed in sub-modules. Camlp4 compiles but does not support this new feature yet.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11311 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-14 10:26:15 +00:00
Pierre Weis
731b2a05dd
Too long lines.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11254 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-28 21:26:01 +00:00
Jacques Garrigue
9dc661c3bf
merge branches/gadts
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00
Damien Doligez
3b507dd1aa
renaming of Objective Caml to OCaml and cleanup of copyright headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Jacques Le Normand
3ec9bc692b
complete_constrs in parmatch.ml now works with gadts. Reverted changes to the syntax tree which are no longer needed.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-16 06:01:59 +00:00
Jacques Garrigue
73102f0fdf
disable progragation in pattern-matchings containing polymorphic variants
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-11 10:02:56 +00:00
Jacques Le Normand
1680403fb9
clean up
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 06:01:27 +00:00
Jacques Le Normand
ff78b8ee75
exhaustiveness check has been _completely_ rewritten
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 07:34:09 +00:00
Jacques Le Normand
c2777a43d0
merged with trunk. specifically, merged with implicit unpack patch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10742 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-25 08:19:48 +00:00
Jacques Garrigue
ce605c042a
merge branches/implicit-unpack + update camlp4
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 23:59:33 +00:00
Jacques Le Normand
10f670297c
added lookup of constructors by type in env.ml and specification of constructors types in Ppat_construct
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 07:53:39 +00:00
Jacques Le Normand
a8a5d86f67
made type parameters ellidable in type declarations
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-21 05:30:25 +00:00
Jacques Le Normand
6de25fef2f
first commit
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:28:30 +00:00
Jacques Garrigue
49a83dd965
merge branches/sigsubst 9626:10205
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-17 14:45:12 +00:00
Jacques Garrigue
ee36e1d1c5
merge branches/override
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 03:58:41 +00:00
Xavier Leroy
ab550592ef
Adding "module type of <module-expr>" in the class of <module-type>.
...
Merge of branches/moduletypeof -r 9636:10226
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-02 12:53:33 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Alain Frisch
89107ae6ff
Merge the letopenin branch in (svn merge -r9386:9397 /svn/ocaml/branches/letopenin) and update Changes.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-01 21:52:29 +00:00
Alain Frisch
1e5b4a4857
Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
...
Adapt the Changes file. Bump magic numbers. Bootstrap.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Alain Frisch
db5a053fb4
Import changes from the newtypein branch (svn merge -r 9361:9367 https://frisch@yquem.inria.fr/caml/svn/ocaml/branches/newtypein ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-06 12:51:42 +00:00
Xavier Leroy
9c6c8fb47e
As discussed at the latest consortium meeting:
...
Syntactic sugar {x} for {x=x} in record expressions and patterns.
Syntax { lbl=pat; _ } to mark record patterns where the user explicitly wants not to list all labels.
Warning (activated by E, the fragile match warning) to signal record patterns without '; _' that fail to list all labels.
To be done: adjust Camlp4 parser accordingly.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-12 12:41:07 +00:00
Xavier Leroy
b01621e848
Added syntactic sugar for record expressions and record patterns:
...
{ lbl } stands for { lbl = lbl }.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9324 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-08-27 08:19:08 +00:00
Michel Mauny
6ba024a12e
Add lazy patterns.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-09 13:03:38 +00:00
Pierre Weis
59e0723455
It works: compilers and camlp4 are fully bootstrapped. The ast magic number is not yet changed.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-09 10:29:37 +00:00