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=1.0 required=5.0 tests=AWL,SPF_FAIL autolearn=disabled version=3.1.3 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 7F94BBC0A for ; Tue, 13 Mar 2007 03:23:12 +0100 (CET) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l2D2NBnl001402 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 13 Mar 2007 03:23:12 +0100 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HQwfL-0004XV-91 for caml-list@inria.fr; Tue, 13 Mar 2007 03:23:07 +0100 Received: from pps-gw.pps.jussieu.fr ([134.157.168.126]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 13 Mar 2007 03:23:07 +0100 Received: from li by pps-gw.pps.jussieu.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 13 Mar 2007 03:23:07 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Zheng Li Subject: Re: [ANN] STMlib and Enhtop available Date: Tue, 13 Mar 2007 03:08:49 +0100 Message-ID: <87mz2hlwsu.fsf@pps.jussieu.fr> References: <87d53mzbdq.fsf@pps.jussieu.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org Cc: Roberto Di Cosmo X-Gmane-NNTP-Posting-Host: pps-gw.pps.jussieu.fr User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.93 (gnu/linux) Cancel-Lock: sha1:RNQrH8LB7oxDPUVOATzrM66kqQ8= Sender: news X-Miltered: at concorde with ID 45F60B0F.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; bug-fix:01 bug:01 toplevel:01 toplevel:01 prefixing:01 defaults:01 cmo:01 ocamlc:01 ocamlopt:01 ocaml:01 bindings:01 bindings:01 rebinding:01 polluting:01 originals:98 Hi, list This is a quick bug-fix and features update to Enhtop since the first release. Main enhancements include: * fixed a serious bug of visiting values from opened modules (Thanks Roberto) * new directive #env to set toplevel environment configuration. For now, which kinds of declarations get pretty printed is configurable, and we make a default configuration different from, and hopefully more rational than, the original toplevel setting. * new directive #modu to list all the modules at hand and indicate whether they are already loaded or not. * #directory now support the removal of path by prefixing "-" * #tell can now distinguish which module the current binding is from, in the case that more than one modules have the same identifier and all being opened * #tell now allow independent access to a single entry of an external module. It prints both the value and the type of the visited entry if the module is already loaded, otherwise only the type is printed. * *most* of the directives (both original and newly added ones) now get "defaults", i.e., when executed without any arguments, they fall back to some predefined default functions, which usually provide relevant helping information. e.g. #directory will print out current path setting, #load will print out the name of all .cmo and .cma currently available etc. * the feedback of some directives is improved. Check changelog and README from its website for more details and examples. One thing you should note that, we do not touch source files other than those inside the "toplevel" directory. I.e. there is no modification to your compilers (ocamlc/ocamlopt etc.) and libraries, the compilers themselves and the executables produced by them should remain identical to the originals. So you're safe and free to switch to it or switch back. We'd like to get more feedback from more people to improve it. > This is an experimental patch (we also provide pre-built testing executable and > Debian package) for an enhanced OCaml toplevel with following features: > > For any kind of bindings (i.e. value, type, module, class etc.): > > * Identifiers been rebound are shown differently by default, to distinguish > with currently effective ones > * A new directive to query (by kinds or names or their composition) and show > both current and history bindings > * A new directive to show the current binding of any identifier without > evaluating or rebinding it > * A type-check-only testing mode to experiment your definitions without > polluting the world, and the directive to enter/leave it > > http://www.pps.jussieu.fr/~li/software/index.html#enhtop -- Zheng Li http://www.pps.jussieu.fr/~li