From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA08494 for caml-redistribution; Thu, 3 Sep 1998 13:59:53 +0200 (MET DST) 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 IAA07660 for ; Thu, 3 Sep 1998 08:26:14 +0200 (MET DST) Received: from kurims.kurims.kyoto-u.ac.jp (kurims.kurims.kyoto-u.ac.jp [130.54.16.1]) by concorde.inria.fr (8.8.7/8.8.7) with ESMTP id IAA27289 for ; Thu, 3 Sep 1998 08:26:12 +0200 (MET DST) Received: from localhost (safran.kurims.kyoto-u.ac.jp [130.54.16.91]) by kurims.kurims.kyoto-u.ac.jp (8.9.1a/3.6W) with ESMTP id PAA03215 for ; Thu, 3 Sep 1998 15:26:04 +0900 (JST) To: caml-list@pauillac.inria.fr Subject: The Objective Label Trilogy, version 2.00 X-Mailer: Mew version 1.92 on Emacs 20.2 / Mule 3.0 (MOMIJINOGA) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <19980903152420V.garrigue@kurims.kyoto-u.ac.jp> Date: Thu, 03 Sep 1998 15:24:20 +0900 From: Jacques GARRIGUE X-Dispatcher: imput version 971024 Content-Transfer-Encoding: 7bit Sender: weis Sorry for the unusual delay, but the release of Objective Caml 2.00 caught me just before my holydays, and there were many conflicts induced by the new class systems. Anyway, this is our pleasure to announce The Objective Label Trilogy, version 2.00 Objective Label / LablTk / LablBrowser Objective Label is an extension of Objective Caml with labeled and optional arguments, polymorphic variants and polymorphic methods. LablTk uses these extensions to provide an almost type safe interface to Tcl/Tk, such that you can write application in a style very close to Tcl. LablBrowser is a programming environment, allowing one to browse code, both source and compiled, and navigate through it on the basis of types and compiled interfaces. It also includes an editor, and a language shell. The combination of these three elements is a system * easy to program, thanks to the libraries and tools * producing more readable programs, thanks to labels * allowing more precise and lighter typing, thanks to variants * supporting a smoother form of functional object-oriented programming, thanks to polymorphic methods These advantages are not limited to functional programming hackers. Our experience is that it provides a particularly good environment for students and beginners, who enjoy the added comfort of the GUI, and the improved readability of their own programs. There were at least 3 recent threads in the caml-list related with Objective Label's functionality: * automatic subtyping in method arguments: this is possible through polymorphic methods. Similarly the stack2 example in Objective Caml reference manual is typable in Objective Label. * extensible datatypes: polymorphic variants allow that, and much more. * documentation browsing: not only LablBrowser allows you to browse the interfaces of all your compiled modules, but it can also bring you to their implentations or textual interfaces, pinpoint on the defintion needed. Textual interfaces are the standard place to document functions in Objective Caml. The port is complete: all the functionality and tools of Objective Caml are available. It is source compatible with O'Caml: any program or library written in O'Caml can be compiled without modification, and you may even add labels to interfaces to your taste. This release should work on any Unix/X windows based system, producing native code on architectures supported by Objective Caml. Changes since version 1.07 are: * full support of the new object system. * added polymorphic typing for methods (see the manual). * full support of optional arguments in class definitions. * changes in the internal representation of polymorphic variants, and bug fixes for variants. * label st: was systematically changed to acc:, some labels name: were removed, and some other replaced by file:. * updated ocaml-mode for the new object syntax. You may get the O'Labl trilogy (and more information) at http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/ ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/olabl-2.00.tar.gz Comments to Jacques Garrigue Jun Furuse (LablTk)