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=3.9 required=5.0 tests=DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_SECURITYSAGE,HTML_MESSAGE 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 8CB24BBAF for ; Fri, 24 Oct 2008 13:45:11 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnsAABxSAUnZkrZ8kWdsb2JhbACCRTGRAQEBAQEJCwoHEQOkJohGBYJN X-IronPort-AV: E=Sophos;i="4.33,477,1220220000"; d="scan'208";a="18461338" Received: from web28104.mail.ukl.yahoo.com ([217.146.182.124]) by mail3-smtp-sop.national.inria.fr with SMTP; 24 Oct 2008 13:45:11 +0200 Received: (qmail 37756 invoked by uid 60001); 24 Oct 2008 11:45:09 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.fr; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:MIME-Version:Content-Type:Message-ID; b=A/Z1620TOrs6Rd+ug4POPtdiD+NPvF6RdVuQUnTUmBqjCkeiRKPINulAEGEpJ576wVUCgkAKYEZARhZdUdAvMaKSgXNuiD6d1ZCCK2apO+mOrgsiuZk6eFbtTFNNs49p9Qn0WRzIbKFChyMdWcRGkeSmYrf93ZGYOo2WNBH/RQM=; X-YMail-OSG: xIiCz1wVM1mOcsx3Kn6PlUYXyd9vGgxgttqYdNCZQOaDk4adTR8z5YkkIrHxaXXWfu6UMQuygD.7V7m2_ThkjMAhAgKFncSnevUtKb3bNwxy_J6FnZxIVhTunHHYBjdMxgq_48uYHKGiCOcEMpSy8ahvl24- Received: from [212.198.142.15] by web28104.mail.ukl.yahoo.com via HTTP; Fri, 24 Oct 2008 11:45:09 GMT X-Mailer: YahooMailWebService/0.7.247.3 Date: Fri, 24 Oct 2008 11:45:09 +0000 (GMT) From: mohamed iguernelala Subject: Re: What does Jane Street use/want for an IDE? What about you? To: maxence.guesdon@inria.fr Cc: caml-list@yquem.inria.fr MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-70621013-1224848709=:37115" Message-ID: <446182.37115.qm@web28104.mail.ukl.yahoo.com> X-Spam: no; 0.00; ocaml:01 ocaml:01 cvs:01 pre-compiled:01 packagers:01 maxence:01 guesdon:01 rocquencourt:01 ocaml-:01 ocaml-:01 patched:01 parser:01 parser:01 cvs:01 patched:01 X-Attachments: cset="utf-8" cset="utf-8" --0-70621013-1224848709=:37115 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > Talking about ocamlwizard, why does it embed a part of ocaml sources > rather than use a configure option to find the compiled sources of ocaml = ? > This would allow to compile ocamlwizard with any (compatible) version of > ocaml (even a cvs version). For example, how to use it with ocaml 3.11 be= ta1 > without modifying the copied parts of ocaml present in ocamlwizard ? > That's how topcameleon is compiled, asking the user where the compiled > sources of ocaml are located. > Having the compiled sources of ocaml is not a problem for an ocaml > developer, and the ocamlwizard users are ocaml developers, aren't they ? > For users of pre-compiled packages (debian, etc.), this is not a problem > for the packagers to have ocamlwizard compiled using the sources of ocaml > used for the ocaml package. > Regards, =C2=A0 > --=20 > Maxence Guesdon=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0http://yquem.inria.fr/~guesdo= n/ > Service Exp=C3=A9rimentation et D=C3=A9veloppements https://devel.inria.f= r/rocq/ > INRIA Paris-Rocquencourt=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 http://www.inria.fr/rocquencourt/ Unfortunately, Its's not possible (for now) to have ocamlwizard compatible = with both ocaml-3.10 and ocaml-3.11 for several reasons :=20 =C2=A0 Ocamlwizard uses a patched ocaml-3.10 parser to be used on incomplete sourc= e files. But I think it is easy to patch=C2=A0an=C2=A0ocaml-3.11 parser to = do so. =C2=A0 During the first month (during June), we used cvs version of ocaml (3.11). = We have patched an ocaml-3.11 parser, we parsed the annot file to get expre= ssion's type and read cmi files to get more information and to extract prop= osals ...=20 =C2=A0 But, We've released by the beginning of July that types in .annot (3.10.2) = are not always qualified enough. And to give the right qualification we hav= e to perfom a scope analysis. We also need to scope analysis for nagivation= in soure code and refactoring. =C2=A0 We know its better to use ocaml compiler as a blackbox to increase portabil= ity. and we considered this approach as much as possible, but (unfortunatel= y) important information are missing. Performing our own scope analysis it = not realistic. The solution we have choose is to embed and ocaml type check= er (3.10) and to patch it to have localizations in cmi files (.cmi + locali= zations =3D .owz files). I=C2=A0suppose typecheckers in ocaml-3.10 and in o= caml-3.11 are differents. =C2=A0 So, we have embed ocaml source files in ocamlwizard (parser + typechecker )= because we have to patch some files to get the information we need. Thus, = to be used with ocaml-3.11, one have to patch ocaml-3.11 parser and typeche= cker. =C2=A0 Regards, =C2=A0 Mohamed.=0A=0A=0A --0-70621013-1224848709=:37115 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
> Talking about ocamlwizard, why does= it embed a part of ocaml sources
> rather than use a configure optio= n to find the compiled sources of ocaml ?
> This would allow to compi= le ocamlwizard with any (compatible) version of
> ocaml (even a cvs v= ersion). For example, how to use it with ocaml 3.11 beta1
> without m= odifying the copied parts of ocaml present in ocamlwizard ?

> Tha= t's how topcameleon is compiled, asking the user where the compiled
>= sources of ocaml are located.

> Having the compiled sources of o= caml is not a problem for an ocaml
> developer, and the ocamlwizard u= sers are ocaml developers, aren't they ?

> For users of pre-compi= led packages (debian, etc.), this is not a problem
> for the packager= s to have ocamlwizard compiled using the sources of ocaml
> used for = the ocaml package.

> Regards,
 
> --
> Maxence Guesdon          &nb= sp;                http= ://yquem.inria.fr/~guesdon/
> Service Exp=C3=A9rimentation= et D=C3=A9veloppements https://devel.inria.fr/rocq/
>= INRIA Paris-Rocquencourt              &= nbsp;   = http://www.inria.fr/rocquencourt/

U= nfortunately, Its's not possible (for now) to have ocamlwizard compatible w= ith both ocaml-3.10 and ocaml-3.11 for several reasons :
 
Ocamlwizard uses a patched ocaml-3.10 parser to be used on incomplete = source files. But I think it is easy to patch an ocaml-3.11 parse= r to do so.
 
During the first month (during June), we used cvs version of ocaml (3.= 11). We have patched an ocaml-3.11 parser, we parsed the annot file to get = expression's type and read cmi files to get more information and to extract= proposals ...
 
But, We've released by the beginning of July that types in .annot (3.1= 0.2) are not always qualified enough. And to give the right qualification w= e have to perfom a scope analysis. We also need to scope analysis for nagiv= ation in soure code and refactoring.
 
We know its better to use ocaml compiler as a blackbox to increase por= tability. and we considered this approach as much as possible, but (unfortu= nately) important information are missing. Performing our own scope analysi= s it not realistic. The solution we have choose is to embed and ocaml type = checker (3.10) and to patch it to have localizations in cmi files (.cmi + l= ocalizations =3D .owz files). I suppose typecheckers in ocaml-3.10 and= in ocaml-3.11 are differents.
 
So, we have embed ocaml source files in ocamlwizard (parser + typechec= ker ) because we have to patch some files to get the information we need. T= hus, to be used with ocaml-3.11, one have to patch ocaml-3.11 parser and ty= pechecker.
 
Regards,
 
Mohamed.

=0A=0A=0A=0A --0-70621013-1224848709=:37115--