From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 4CD427EE49 for ; Wed, 20 Feb 2013 15:11:17 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of bobzhang1988@gmail.com) identity=pra; client-ip=209.85.220.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="bobzhang1988@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of bobzhang1988@gmail.com designates 209.85.220.170 as permitted sender) identity=mailfrom; client-ip=209.85.220.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="bobzhang1988@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vc0-f170.google.com) identity=helo; client-ip=209.85.220.170; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bobzhang1988@gmail.com"; x-sender="postmaster@mail-vc0-f170.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmoCAGrYJFHRVdyqiGdsb2JhbABABbg4iB91CBYOAQEBFQkbKYIfAQEEAScZARsdAQMBCwYFBAc7IgERAQUBHBmHfwEDCQaheIwygnuETwoZJw1ZiHsBBQyNT4EzB4NAA4hmjUaBHY1cFimESA X-IPAS-Result: AmoCAGrYJFHRVdyqiGdsb2JhbABABbg4iB91CBYOAQEBFQkbKYIfAQEEAScZARsdAQMBCwYFBAc7IgERAQUBHBmHfwEDCQaheIwygnuETwoZJw1ZiHsBBQyNT4EzB4NAA4hmjUaBHY1cFimESA X-IronPort-AV: E=Sophos;i="4.84,702,1355094000"; d="scan'208";a="2865476" Received: from mail-vc0-f170.google.com ([209.85.220.170]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 20 Feb 2013 15:11:16 +0100 Received: by mail-vc0-f170.google.com with SMTP id p16so5058653vcq.1 for ; Wed, 20 Feb 2013 06:11:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=kj/OFVYMxrFAa+3MjEhMyrByLkk7fcrDI9iSalFGLKM=; b=cKJqMwL25Q12fRccjC7LSIOpo6M3expQE8/fsChmt2nFnHCkHU2Gp+M7C4XHuhin2D 4btEipX82ZehOxf12YdZuyNQPXnMdohmekt5BwfZeEf9VTiE4twENmWM7hKk9ETuVrpJ LqHK9b8qpjo/1qLVyYz7pdX5WaPageSpl17qUanVB3meCCLYZmiYGxWUEjlry8pnA6iO mwEcpNwvSMN3AI56E8k3AI0o2kA7JFl6pd1xBmHCM5WCL4L1W2wSqMgz3053FhOaYQRS kOBnofzUwEZFRY+a9so6PJa0CZDLIg8Dk5fnPZwRx5d1ab8QcDqaiysrY89lKOmgK8Pd oIFg== MIME-Version: 1.0 X-Received: by 10.220.240.11 with SMTP id ky11mr25654569vcb.11.1361369475009; Wed, 20 Feb 2013 06:11:15 -0800 (PST) Received: by 10.220.252.133 with HTTP; Wed, 20 Feb 2013 06:11:14 -0800 (PST) In-Reply-To: <20130220122010.18644.qmail@www1.g3.pair.com> References: <20130220122010.18644.qmail@www1.g3.pair.com> Date: Wed, 20 Feb 2013 09:11:14 -0500 Message-ID: From: bob zhang To: oleg@okmij.org Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary=14dae9cdcc75f74d7204d6288792 Subject: [Caml-list] Re: ANN: Brand-new BER MetaOCaml for OCaml 4.00.1 --14dae9cdcc75f74d7204d6288792 Content-Type: text/plain; charset=ISO-8859-1 On Wed, Feb 20, 2013 at 7:20 AM, wrote: > > > > Currently metaocaml does not support native code, but it seems that the > > patch only installs ocamlc, is it possible to get ocamlc.opt installed as > > well? (not the ocamlopt.opt) ocamlbuild is not installed either. It would > > be even nicer that ocamlopt.opt could be installed without supporting > > metaocaml, otherwise I have to switch between different compilers from > time > > to time. > > Yes, it is possible. It is possible almost immediately but I just had > an idea how to do it much better. If works out it will bring essentially > native metaocaml. I will need time to check it though... Well, better > is the enemy of the good. > > If you want ocamlopt urgently (without > using brackets and escapes) I can make a patch easily -- or tell you one > line to add to one file. Namely, to the file > asmcomp/cmmgen.ml add at the line 1713 (at the end of the function > emit_constant_field) the following single line: > | Const_csp_value _ -> assert false > > Yes, I understand it saves a lot of time to not building something necessary when do the compiler-hacking, but it would be nice for the user who try the patch to see minimum surprise. Would you mind release a new patch which contains everything except that ocamlc, ocaml byte runtime is patched? That would be really helpful for other people to give a try as well. > After that, do make ocamlopt followed by make install. You get > ocamlopt that, as a side benefit, understands the let! monadic > notation (which never made it to the official version, but seems quite > handy). > > Monadic notation is fine, since Camlp4/Fan interacts with metaocaml only in the Ast level Thanks -- Regards -- Bob --14dae9cdcc75f74d7204d6288792 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Wed, Feb 20, 2013 at 7:20 AM, <oleg@ok= mij.org> wrote:


> =A0 Currently metaocaml does not support native code, but it seems tha= t the
> patch only installs ocamlc, is it possible to get ocamlc.opt installed= as
> well? (not the ocamlopt.opt) ocamlbuild is not installed either. It wo= uld
> be even nicer that ocamlopt.opt could be installed without supporting<= br> > metaocaml, otherwise I have to switch between different compilers from= time
> to time.

Yes, it is possible. It is possible almost immediately but I just had=
an idea how to do it much better. If works out it will bring essentially
native metaocaml. I will need time to check it though... Well, better
is the enemy of the good.

If you want ocamlopt urgently (without
using brackets and escapes) I can make a patch easily -- or tell you one
line to add to one file. Namely, to the file
asmcomp/cmmgen.ml add at= the line 1713 (at the end of the function
emit_constant_field) the following single line:
=A0 | Const_csp_value _ =A0-> assert false

Yes, I understand it saves =A0a lot of time to not bu= ilding something necessary when do the compiler-hacking, but it would be ni= ce for the user who try the patch to =A0see minimum surprise. Would you min= d release a new patch which contains everything except that ocamlc, ocaml b= yte runtime is patched? That would be really helpful for other people to gi= ve a try as well.
After that, do make ocamlopt followed by make install. You get
ocamlopt that, as a side benefit, understands the let! monadic
notation (which never made it to the official version, but seems quite
handy).

Monadic notation is fine, since Camlp4/Fan interacts = with metaocaml only in the Ast level=A0

Thanks

--
Regards
-- Bob --14dae9cdcc75f74d7204d6288792--