caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] New GADT iteration
@ 2011-11-11  7:57 Jacques Garrigue
  2011-11-11  8:24 ` Gabriel Kerneis
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jacques Garrigue @ 2011-11-11  7:57 UTC (permalink / raw)
  To: caml-list

Dear Camlers,

Some of you may already be aware that GADTs are available in trunk,
since this summer. Information is available here:
      https://sites.google.com/site/ocamlgadt/

As you can see in the presentation, this first iteration had some
limitations (particularly it was mostly incompatible with objects and
polymorphic variants), which led us to try a new approach.

In this new iteration it is guaranteed that an ambiguous type cannot
escape the scope of a GADT pattern-matching, which leads to
(hopefully) more intuitive type inference, and allows to combine GADTs
with objects and polymorphic variants. The syntax is unchanged.

As this approach depends crucially on the above property of ambiguous
types not escaping, it requires as much testing as possible.
This is why I would like to invite interested people to test it and
report strange behavior.
The new code is in the branch  branches/gadts-devel, or
  http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gadts-devel/

Sample code is available in the subdirectory testsuite/tests/typing-gadts.
It includes Alain Frisch's example for safe type introspection,
extended with variants.

Please tell me if you find some unsoundness, or you cannot understand
why you get an error.

Jacques Garrigue

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] New GADT iteration
  2011-11-11  7:57 [Caml-list] New GADT iteration Jacques Garrigue
@ 2011-11-11  8:24 ` Gabriel Kerneis
  2011-11-11  8:44   ` Jacques Le Normand
  2011-11-12 14:18 ` "Markus W. Weißmann"
  2011-11-24  9:13 ` [Caml-list] " Jacques Garrigue
  2 siblings, 1 reply; 5+ messages in thread
From: Gabriel Kerneis @ 2011-11-11  8:24 UTC (permalink / raw)
  To: Jacques Garrigue; +Cc: caml-list

On Fri, Nov 11, 2011 at 04:57:07PM +0900, Jacques Garrigue wrote:
> Some of you may already be aware that GADTs are available in trunk,
> since this summer. Information is available here:
>       https://sites.google.com/site/ocamlgadt/

I think there is a typo on this page: in the function length, the case
| Cons (a,b) -> length b
should be
| Cons (a,b) -> 1 + length b

The repository location is also flawed; instead of
        svn checkout http://caml.inria.fr/caml/svn/ocaml/trunk
it should be
        svn checkout http://caml.inria.fr/svn/ocaml/branches/gadts-devel
(note the spurious "caml" in the current url).

Best regards,
-- 
Gabriel Kerneis

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] New GADT iteration
  2011-11-11  8:24 ` Gabriel Kerneis
@ 2011-11-11  8:44   ` Jacques Le Normand
  0 siblings, 0 replies; 5+ messages in thread
From: Jacques Le Normand @ 2011-11-11  8:44 UTC (permalink / raw)
  To: caml-list

fixed

On Fri, Nov 11, 2011 at 3:24 AM, Gabriel Kerneis <kerneis@pps.jussieu.fr> wrote:
> On Fri, Nov 11, 2011 at 04:57:07PM +0900, Jacques Garrigue wrote:
>> Some of you may already be aware that GADTs are available in trunk,
>> since this summer. Information is available here:
>>       https://sites.google.com/site/ocamlgadt/
>
> I think there is a typo on this page: in the function length, the case
> | Cons (a,b) -> length b
> should be
> | Cons (a,b) -> 1 + length b
>
> The repository location is also flawed; instead of
>        svn checkout http://caml.inria.fr/caml/svn/ocaml/trunk
> it should be
>        svn checkout http://caml.inria.fr/svn/ocaml/branches/gadts-devel
> (note the spurious "caml" in the current url).
>
> Best regards,
> --
> Gabriel Kerneis
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa-roc.inria.fr/wws/info/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] New GADT iteration
  2011-11-11  7:57 [Caml-list] New GADT iteration Jacques Garrigue
  2011-11-11  8:24 ` Gabriel Kerneis
@ 2011-11-12 14:18 ` "Markus W. Weißmann"
  2011-11-24  9:13 ` [Caml-list] " Jacques Garrigue
  2 siblings, 0 replies; 5+ messages in thread
From: "Markus W. Weißmann" @ 2011-11-12 14:18 UTC (permalink / raw)
  To: Jacques Garrigue; +Cc: caml-list

I've added a port "ocaml-devel" to MacPorts that builds the gadt-devel branch (checked out from svn, revision 11273);
so for users of MacPorts you can simply deactivate your current ocaml installation and install ocaml-devel to give it a try.

$> sudo port -f deactivate ocaml
$> sudo port install ocaml-devel 

The ocaml libraries from MacPorts will not accept the development snapshot though.


Best regards

-Markus

On 11 Nov 2011, at 08:57, Jacques Garrigue wrote:

> Dear Camlers,
> 
> Some of you may already be aware that GADTs are available in trunk,
> since this summer. Information is available here:
>      https://sites.google.com/site/ocamlgadt/
> 
> As you can see in the presentation, this first iteration had some
> limitations (particularly it was mostly incompatible with objects and
> polymorphic variants), which led us to try a new approach.
> 
> In this new iteration it is guaranteed that an ambiguous type cannot
> escape the scope of a GADT pattern-matching, which leads to
> (hopefully) more intuitive type inference, and allows to combine GADTs
> with objects and polymorphic variants. The syntax is unchanged.
> 
> As this approach depends crucially on the above property of ambiguous
> types not escaping, it requires as much testing as possible.
> This is why I would like to invite interested people to test it and
> report strange behavior.
> The new code is in the branch  branches/gadts-devel, or
>  http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gadts-devel/
> 
> Sample code is available in the subdirectory testsuite/tests/typing-gadts.
> It includes Alain Frisch's example for safe type introspection,
> extended with variants.
> 
> Please tell me if you find some unsoundness, or you cannot understand
> why you get an error.
> 
> Jacques Garrigue
> 
> -- 
> Caml-list mailing list.  Subscription management and archives:
> https://sympa-roc.inria.fr/wws/info/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
> 

-- 
Markus Weißmann, M.Sc.
Technische Universität München
Institut für Informatik
Boltzmannstr. 3
D-85748 Garching
Germany
Tel. +49 (89) 2 89-1 81 05
Fax +49 (89) 2 89-1 81 07
http://wwwknoll.in.tum.de/



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Caml-list] Re: New GADT iteration
  2011-11-11  7:57 [Caml-list] New GADT iteration Jacques Garrigue
  2011-11-11  8:24 ` Gabriel Kerneis
  2011-11-12 14:18 ` "Markus W. Weißmann"
@ 2011-11-24  9:13 ` Jacques Garrigue
  2 siblings, 0 replies; 5+ messages in thread
From: Jacques Garrigue @ 2011-11-24  9:13 UTC (permalink / raw)
  To: Jacques Garrigue; +Cc: caml-list

The new branch has now been merged in trunk, all ready for the next version of OCaml.

	http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/trunk

Big thanks to Jeremy Yallop for finding many bugs.
But you still have your chance to find more :-)

Jacques Garrigue

On 2011/11/11, at 16:57, Jacques Garrigue wrote:

> Dear Camlers,
> 
> Some of you may already be aware that GADTs are available in trunk,
> since this summer. Information is available here:
>      https://sites.google.com/site/ocamlgadt/
> 
> As you can see in the presentation, this first iteration had some
> limitations (particularly it was mostly incompatible with objects and
> polymorphic variants), which led us to try a new approach.
> 
> In this new iteration it is guaranteed that an ambiguous type cannot
> escape the scope of a GADT pattern-matching, which leads to
> (hopefully) more intuitive type inference, and allows to combine GADTs
> with objects and polymorphic variants. The syntax is unchanged.
> 
> As this approach depends crucially on the above property of ambiguous
> types not escaping, it requires as much testing as possible.
> This is why I would like to invite interested people to test it and
> report strange behavior.
> The new code is in the branch  branches/gadts-devel, or
>  http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gadts-devel/
> 
> Sample code is available in the subdirectory testsuite/tests/typing-gadts.
> It includes Alain Frisch's example for safe type introspection,
> extended with variants.
> 
> Please tell me if you find some unsoundness, or you cannot understand
> why you get an error.
> 
> Jacques Garrigue



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-11-24  9:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-11  7:57 [Caml-list] New GADT iteration Jacques Garrigue
2011-11-11  8:24 ` Gabriel Kerneis
2011-11-11  8:44   ` Jacques Le Normand
2011-11-12 14:18 ` "Markus W. Weißmann"
2011-11-24  9:13 ` [Caml-list] " Jacques Garrigue

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).