From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id C40F5BB9C for ; Thu, 19 Jan 2006 21:12:14 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k0JKCEbN010081 for ; Thu, 19 Jan 2006 21:12:14 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA13547 for ; Thu, 19 Jan 2006 21:12:13 +0100 (MET) Received: from haka.fmf.uni-lj.si (haka.fmf.uni-lj.si [193.2.67.18]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k0JKCCVs012317 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 19 Jan 2006 21:12:13 +0100 Received: from bsn-77-186-71.dsl.siol.net ([193.77.186.71] helo=[192.168.1.101]) by haka.fmf.uni-lj.si with esmtpa (Exim 4.50) id 1Ezg8e-0006o4-25 for caml-list@inria.fr; Thu, 19 Jan 2006 21:12:12 +0100 Message-ID: <43CFF2D6.4080108@andrej.com> Date: Thu, 19 Jan 2006 21:13:10 +0100 From: Andrej Bauer Reply-To: Andrej.Bauer@andrej.com User-Agent: Debian Thunderbird 1.0.7 (X11/20051017) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Caml list Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 193.77.186.71 X-SA-Exim-Mail-From: Andrej.Bauer@andrej.com Subject: Toplevel wishlist X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100) X-SA-Exim-Scanned: Yes (on haka.fmf.uni-lj.si) X-Miltered: at nez-perce with ID 43CFF29E.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 43CFF29C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; andrej:01 andrej:01 toplevel:01 wishlist:01 tweak:01 toplevels:01 toplevel:01 ocaml:01 bytecode:01 stdin:01 stdout:01 toplevels:01 wishlist:01 polymorphic: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=none autolearn=disabled version=3.0.3 Thank you for suggestions on how to tweak custom toplevels. For a while now I have been thinking that there should be a fancy alternative to the current toplevel. If I had the time, I would actually go ahead and try to write one. But what would be a good feature list? I can think of several improvements: 1) First, provide not only a toplevel but also a library that others could use to make toplevel-like interfaces to ocaml bytecode engine. 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. 3) Equip toplevel with pretty printers that can manage polymorphic types, and essentially make it possible to pretty print _everything_. It should be possible to create a toplevel linked to a graphical user interface that shows pictures and typeset text as results. 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. What else can we put on the wishlist? If only someone else did it :-) Andrej