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=0.2 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 51D7CBBAF for ; Sat, 31 May 2008 23:34:37 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhsBACZhQUjRVcbgdWdsb2JhbACSCwEMAwQGBw+VAYUt X-IronPort-AV: E=Sophos;i="4.27,572,1204498800"; d="scan'208";a="13316808" Received: from concorde.inria.fr ([192.93.2.39]) by mail3-smtp-sop.national.inria.fr with ESMTP; 31 May 2008 23:34:37 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m4VLYag3024900 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sat, 31 May 2008 23:34:36 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhsBACZhQUjRVcbgdWdsb2JhbACSCwEMAwQGBw+VAYUt X-IronPort-AV: E=Sophos;i="4.27,572,1204498800"; d="scan'208";a="13316807" Received: from rv-out-0506.google.com ([209.85.198.224]) by mail3-smtp-sop.national.inria.fr with ESMTP; 31 May 2008 23:34:35 +0200 Received: by rv-out-0506.google.com with SMTP id k40so301141rvb.57 for ; Sat, 31 May 2008 14:34:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=picTEm+GR6eALYMjFRosW7jEugrkAOVVtmZFeNCChrQ=; b=C7dC6SCOyqK/Ki2xK81BVb+KTQ2IHB1I3SCwRpt4pQ1xCb0/9RCfW+QM0EiblUQHNqAa5xXrAKUoqlqwcPhUZ3HBfqXYMeYizFQiPit2HHdzG9+KMXdpx3l99B8wm2oy3Xlg+SQ5aFJ811oNno2LKEC+yshxKtaLZP22M+t1hlA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=kbZbq5GeOzRfiaUAviX9rrRdf2+dBFzGh/mkx7PJ0XsOh+gWpU5jfcAARFqvzRc/eMZPzL1VEEVyEqCAHaiCjZjVzqaQcEZKZCoShuA4IZ+WZBwPwQRHiBtxsi/ryxrNU0QBuiIb0scCunwk0/xxvOAP6y+aczh4gi1hS0v/tUM= Received: by 10.141.36.10 with SMTP id o10mr3957208rvj.176.1212269674587; Sat, 31 May 2008 14:34:34 -0700 (PDT) Received: by 10.140.193.3 with HTTP; Sat, 31 May 2008 14:34:34 -0700 (PDT) Message-ID: Date: Sat, 31 May 2008 23:34:34 +0200 From: "Berke Durak" To: "Robert Fischer" Subject: Re: [Caml-list] picking / marshaling to strings in ocaml-revision-stable way Cc: caml-list@inria.fr In-Reply-To: <48418421.5090601@fischerventure.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <28fa90930805302343n18b98b17t72a22ea82539fc6f@mail.gmail.com> <20080531.174314.107716495.garrigue@math.nagoya-u.ac.jp> <28fa90930805310954w3089478bqfd8c3f821fff207e@mail.gmail.com> <48418421.5090601@fischerventure.com> X-Miltered: at concorde with ID 4841C46C.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; berke:01 durak:01 berke:01 durak:01 marshaling:01 syntax:01 sexp:01 fprintf:01 fprintf:01 iter:01 wrote:01 rec:01 parsing:01 caml-list:01 strings:01 On Sat, May 31, 2008 at 7:00 PM, Robert Fischer wrote: > How far is the reach from the Jane St S-exp library from producing JSON? I've not actually looked at it, but that'd be super nifty in the interoperation world. If you just want JSON syntax, you can use Sexplib to convert an arbitrary type to a Sexp.t type t = Atom of string | List of t list and then output in Json format: let rec output_json oc = function | Atom u -> fprintf oc "%S" u | List xl -> fprintf oc "[%a]" (fun oc xl -> List.iter (fun x -> fprintf "%a," output_json x) xl) xl You can then do the same thing for parsing. -- Berke