Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI This information is Copyright 2008 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: Objective Caml system and LablGTK 1.2. Name of Document Author/Supplier: Author: Xue-Yang Yan 1.3. Date of This Document: June 26, 2008 4. Technical Description Summary The intent of this case is to propose the integration of two open source packages Objective Caml system and LablGTK to Solaris OS. Indiana package "Unison" requires them as the compiler and interface to GTK. This project requests a minor binding. 4.1 Proposal 4.1.1 Objective Caml System Introduction Caml is a general-purpose programming language [1], designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles. Objective Caml is the most popular variant of the Caml language. From a language standpoint, it extends the core Caml language with a fully-fledged object-oriented layer, as well as a powerful module system, all connected by a sound, polymorphic type system featuring type inference. The Objective Caml system is the main, industrial-strength implementation of the Caml language. It based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML, featuring a high-performance native-code compiler (ocamlopt) for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) and an interactive read-eval-print loop (ocaml) for quick development and portability. The Objective Caml distribution includes a comprehensive standard library, a replay debugger (ocamldebug), lexer (ocamllex) and parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) and a documentation generator (ocamldoc). [2] 4.1.2 LablGTK Introduction LablGTK is an Objective Caml interface to gtk+ [3]. It uses the rich type system of Objective Caml 3 to provide a strongly typed, yet very comfortable, object-oriented interface to gtk+. 4.2 Interfaces 4.2.1 Exported Interfaces Exported Interface | Stability | Description -----------------------------+-----------+------------------------------- /usr/bin/camlp4 | Volatile | OCaml pre-processor | | pretty-printer -----------------------------+-----------+------------------------------- /usr/bin/camlp4boot | Volatile | Shortcut for "camlp4" command /usr/bin/camlp4o | Volatile | with different syntaxs /usr/bin/camlp4of | Volatile | previously loaded /usr/bin/camlp4oof | Volatile | /usr/bin/camlp4orf | Volatile | /usr/bin/camlp4prof | Volatile | /usr/bin/camlp4r | Volatile | /usr/bin/camlp4rf | Volatile | -----------------------------+-----------+------------------------------- /usr/bin/gdk-pixbuf-mlsource | Volatile | Image loading and manipulation -----------------------------+-----------+------------------------------- /usr/bin/lablgladecc2 | Volatile | Tool for extracting widget | | definitions from glade | | description -----------------------------+-----------+------------------------------- /usr/bin/lablgtk2 | Volatile | LablGTK runtime environment -----------------------------+-----------+------------------------------- /usr/bin/labltk | Volatile | Toplevel interface to the | | Tcl/Tk toolkit -----------------------------+-----------+------------------------------- /usr/bin/mkcamlp4 | Volatile | Creates camlp4 executables -----------------------------+-----------+------------------------------- /usr/bin/ocaml | Volatile | OCaml interactive | | read-eval-print loop -----------------------------+-----------+------------------------------- /usr/bin/ocamlbrowser | Volatile | OCaml browser/editor -----------------------------+-----------+------------------------------- /usr/bin/ocamlbuild | Volatile | OCaml project compilation tool /usr/bin/ocamlbuild.byte | Volatile | -----------------------------+-----------+------------------------------- /usr/bin/ocamlc | Volatile | OCaml bytecode compiler -----------------------------+-----------+------------------------------- /usr/bin/ocamlcp | Volatile | OCaml profiling compiler -----------------------------+-----------+------------------------------- /usr/bin/ocamldebug | Volatile | OCaml replay debugger -----------------------------+-----------+------------------------------- /usr/bin/ocamldep | Volatile | OCaml dependency generator -----------------------------+-----------+------------------------------- /usr/bin/ocamldoc | Volatile | OCaml documentation generator -----------------------------+-----------+------------------------------- /usr/bin/ocamllex | Volatile | OCaml lexer generator -----------------------------+-----------+------------------------------- /usr/bin/ocamlmklib | Volatile | generate libraries with mixed | | C/Caml code -----------------------------+-----------+------------------------------- /usr/bin/ocamlmktop | Volatile | Building custom toplevel | | systems -----------------------------+-----------+------------------------------- /usr/bin/ocamlopt | Volatile | OCaml native-code compiler -----------------------------+-----------+------------------------------- /usr/bin/ocamlprof | Volatile | OCaml profiling tool -----------------------------+-----------+------------------------------- /usr/bin/ocamlrun | Volatile | OCaml bytecode interpreter -----------------------------+-----------+------------------------------- /usr/bin/ocamlyacc | Volatile | OCaml parser generator -----------------------------+-----------+------------------------------- /usr/lib/ocaml/* [4] | Volatile | OCaml libraries -----------------------------+-----------+------------------------------- /usr/lib/ocaml/lablgtk2/* [4]| Volatile | LablGTK libraries -----------------------------+-----------+------------------------------- SUNWocaml |Uncommitted| Package name for Objective | | Caml system -----------------------------+-----------+------------------------------- SUNWlablgtk |Uncommitted| Package name for lablGTK ------------------------------------------------------------------------- 4.2.2 Documents delivered /usr/share/man/man1/* [4] 4.2.3 Imported Interfaces None. 4.3 References [1] http://caml.inria.fr/ [2] See documentation and user's manual at http://caml.inria.fr/download.en.html [3] http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html [4] See file "file_list.txt" in case directory for a complete list of files to be delivered to this directory 6. Resources and Schedule 6.4 Steering Committee Requested Information 6.4.1 Consolidation C-team Name: SFW 6.5 ARC review type: Fast Track 6.6 ARC exposure: Open