From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id E5CFEBB9C for ; Thu, 19 Jan 2006 22:01:14 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k0JL1Ecn019775 for ; Thu, 19 Jan 2006 22:01:14 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA14258 for ; Thu, 19 Jan 2006 22:01:13 +0100 (MET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.195]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k0JL1COx015989 for ; Thu, 19 Jan 2006 22:01:13 +0100 Received: by zproxy.gmail.com with SMTP id n29so310612nzf for ; Thu, 19 Jan 2006 13:01:12 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=JUjdHUaPCHxjzNExDUi6rumSjndwp1jzQc2HJmm1WhcPAA659EU0B1qQzBn7p55QW53q3Kk+0l9ojQ9YNhMlTfenicHneSU7E2w1kutRyCabQqacGFoGVM6+DdEi6ZQgfgKx7/lSzDYw60EvzIjjw5k0PbBTtknzrCn0IoqApM0= Received: by 10.65.20.9 with SMTP id x9mr827502qbi; Thu, 19 Jan 2006 13:01:12 -0800 (PST) Received: by 10.65.22.19 with HTTP; Thu, 19 Jan 2006 13:01:12 -0800 (PST) Message-ID: Date: Fri, 20 Jan 2006 10:01:12 +1300 From: Jonathan Roewen To: Andrej.Bauer@andrej.com Subject: Re: [Caml-list] Toplevel wishlist Cc: Caml list In-Reply-To: <43CFF2D6.4080108@andrej.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43CFF2D6.4080108@andrej.com> X-Miltered: at concorde with ID 43CFFE1A.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 43CFFE18.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 toplevel:01 wishlist:01 toplevel:01 ocaml:01 bytecode:01 toplevellib:01 bytecode:01 stdin:01 stdout:01 toplevels:01 toplevellib:01 compiler:01 writes:01 abstract:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 > 1) First, provide not only a toplevel but also a library that others > could use to make toplevel-like interfaces to ocaml bytecode engine. You mean toplevellib.cma for bytecode? ;-) > 2) Do not hardcode stdin/stdout communication into toplevel. Instead, > have a toplevel that communicates with the outside in a more abstract > way. Thus it should be relatively easy to create toplevels that are > equipped with line editing, that communicate through a graphical user > interface (in a natural way), that talk via Texmacs, etc. Using toplevellib.cma, you can create your own loop that reads/writes from anything (though, for some reason, it appears the error printing interface is not in the library dirs--why is that?). > 4) Provide reasonable configuration options that allow one to customize > the toplevel in a sensible way (such as pre-installed pretty printers > and pre-open modules). Reading stuff _only_ from .ocamlinit is not fancy > enough. I made my own change to compiler/toplevel to specify modules to open automatically. Look in mantis for it (it's not a proper patch, but should be easy enough to apply yourself). Jonathan