From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pAB7vHIt011567 for ; Fri, 11 Nov 2011 08:57:18 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah0HAP3UvE6FBoIF/2dsb2JhbABEmmaQOIIzBgMBNgGJWaRFhBmOPgEGiX6IEYwbkgQ X-IronPort-AV: E=Sophos;i="4.69,493,1315173600"; d="scan'208";a="118299164" Received: from rabbit.math.nagoya-u.ac.jp (HELO mailhost.math.nagoya-u.ac.jp) ([133.6.130.5]) by mail4-smtp-sop.national.inria.fr with ESMTP; 11 Nov 2011 08:57:11 +0100 Received: from mailhost.math.nagoya-u.ac.jp (localhost [127.0.0.1]) by mailhost.math.nagoya-u.ac.jp (Postfix) with ESMTP id 78D69626A for ; Fri, 11 Nov 2011 16:57:08 +0900 (JST) Received: from mailhost.math.nagoya-u.ac.jp (camel-172 [172.16.254.4]) by mailhost.math.nagoya-u.ac.jp (Postfix) with ESMTP id 42E3D24E7; Fri, 11 Nov 2011 16:57:08 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=math.nagoya-u.ac.jp; h= date:message-id:to:subject:from:mime-version:content-type: content-transfer-encoding; s=alpha; bh=DYi0kY748NX5VyOVSTw0Etu2a Jo=; b=L6bqBrUELJy23U0wfeQBVwAO7lVvGyGP6fLNbZyFFlO3Z8++hqUF4VstP 8N9xeQmvRe741EaJACXtThV3+XydTouu9FA9IeVEaf8sBERi8mQoJ6qAeqw6JcK/ KAa1/eKqN5N+DKCqXH6mtQc+UXXsPhlGGF3n0fPIWYWJv3LKfo= DomainKey-Signature: a=rsa-sha1; h=Received:Date:Message-Id:To:Subject:From:X-Mailer:Mime-Version:Content-Type:Content-Transfer-Encoding; b=AgOOytPc25G12eJNUklSP8Naoma5ZQ1e+pIzUkOjwyqkhLZfYKpWckQ5msKoydOC5p+i8ZmLbEpExokfTCBwZpbgC3MRU9gfwbVqdT4jIFEaJy5ViUQTHnfxExIn/+FD7NZWJbaohvOqpzS1tfivujk/DafNmjbfW58JIYjp5SI=; c=nofws; d=math.nagoya-u.ac.jp; q=dns; s=alpha Received: from localhost (bsdserver02 [172.16.249.2]) by mailhost.math.nagoya-u.ac.jp (Postfix) with ESMTP id E4BA324E2; Fri, 11 Nov 2011 16:57:07 +0900 (JST) Date: Fri, 11 Nov 2011 16:57:07 +0900 (JST) Message-Id: <20111111.165707.71105223.garrigue@math.nagoya-u.ac.jp> To: caml-list@inria.fr From: Jacques Garrigue X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: [Caml-list] New GADT iteration 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