From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 52DAEBB84 for ; Sat, 29 Nov 2008 18:14:59 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiQCAOsGMUlDww/HmWdsb2JhbACOJYUjAQEBAQEICwoHEa5FizwFAgGCeg X-IronPort-AV: E=Sophos;i="4.33,687,1220220000"; d="scan'208";a="31980263" Received: from web111512.mail.gq1.yahoo.com ([67.195.15.199]) by mail4-smtp-sop.national.inria.fr with SMTP; 29 Nov 2008 18:14:58 +0100 Received: (qmail 45270 invoked by uid 60001); 29 Nov 2008 17:14:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=fPB4XSg4susrdskrLM38agr8CHYgDzdM0UYjUckyN95iYEP3lC7cLXVhdCQgGQLjSSISqwos2dYf8IKnaTlHp3Warw+LZzPcugnSR80LFgoH+CflR/UqTaOnjapbYq1GTYMxVB10ctXgfn1A4SQRxontz9AKfgbaH4NaYmqu/LM=; X-YMail-OSG: U.2_jkIVM1nlZaWJiB1Bowl_pSrlzjYtx6V8PXRfHOqOcKNhVO2LlLZDg81EmLn3EJ7VKo8vdIow5YliMjiV7ijVEptQ.ul6OAbf087FDo0ML_BeuyfaOzu6dpVdH3elim12fRMy8gJRNAEUABcq4BZY0OTVgPnL5OIZUodt Received: from [213.205.70.212] by web111512.mail.gq1.yahoo.com via HTTP; Sat, 29 Nov 2008 09:14:57 PST X-Mailer: YahooMailWebService/0.7.260.1 Date: Sat, 29 Nov 2008 09:14:57 -0800 (PST) From: Dario Teixeira Subject: Issues with Sexplib (#2) To: caml-list@yquem.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <81266.45254.qm@web111512.mail.gq1.yahoo.com> X-Spam: no; 0.00; struct:01 sexp:01 sexp:01 uncomment:01 syntax:01 compilation:01 recursive:01 cheers:01 compiles:01 constraint:01 constraint:01 int:01 int:01 hierarchical:01 hierarchical:01 Hi again, The second issue is a bit more straightforward, though I reckon it may actually be in Type-conv (used by Sexplib). Consider the following code: (* TYPE_CONV_PATH "Order" *) module Order =3D struct type ordinal_t =3D [ `Ordinal of int ] (* with sexp *) type hierarchical_t =3D [ `Hierarchical of int list ] (* with sexp *) type appendix_t =3D [ `Appendix of int list ] (* with sexp *) type 'a scheme_t =3D 'a constraint 'a =3D [< ordinal_t | hierarchical_t= | appendix_t ] (* with sexp *) type 'a auto_t =3D [ `Auto of 'a scheme_t ] (* with sexp *) type 'a user_t =3D [ `User of 'a scheme_t ] (* with sexp *) type none_t =3D [ `None ] (* with sexp *) type ('a, 'b) given_t =3D 'b constraint 'b =3D [< 'a auto_t | 'a user_t= | none_t ] (* with sexp *) type body_sectional_order_t =3D (hierarchical_t as 'a, ['a auto_t | 'a = user_t | none_t ]) given_t (* with sexp *) type appendix_sectional_order_t =3D (appendix_t as 'a, ['a auto_t | 'a = user_t | none_t ]) given_t (* with sexp *) type preset_sectional_order_t =3D (hierarchical_t, none_t) given_t (* w= ith sexp *) type wrapper_order_t =3D (ordinal_t as 'a, ['a auto_t | 'a user_t]) giv= en_t (* with sexp *) type ghost_order_t =3D (ordinal_t as 'a, 'a auto_t) given_t (* with sex= p *) end It compiles fine. Now uncomment the "(* with sexp *)" parts, such that it makes use of the Sexplib syntax extension. The compilation fails on the definition of body_sectional_order_t, with an error "type_is_recursive: unknown type construct". Is this a known limitation in Type-conv/Sexplib? One last note to the authors of Sexplib: for each reporting of an issue wit= h Sexplib there are tons of unreported happy cases. It is such a great tool that I find myself using it everywhere, hence the inevitability of every now and then running into problems... Thanks again for your attention. Cheers, Dario Teixeira =0A=0A=0A