
 __ o  o __
 \_\|__|/_/
   \(o  o)      Giraffe Library
    |\ _|
    |\`-'       Standard ML bindings for GObject-based libraries
    |/|
    |\|         http://www.giraffelibrary.org/
    |/|
    |\|

 ******************************************************************************
 *                                                                            *
 *                 Warning!  This is an unstable pre-release!                 *
 *                                                                            *
 * This release has limitations and omissions that may not be documented.     *
 * Furthermore, subsequent releases may introduce changes to the Standard ML  *
 * API that are incompatible with code using this release.                    *
 *                                                                            *
 ******************************************************************************

This README file covers the following topics:

  1. Overview
  2. System Requirements
  3. Installation
  4. Licence
  5. Contact and support


Full documentation is available in the User Guide at

  http://www.giraffelibrary.org/doc/


         ---------------          1.  Overview          ---------------

Giraffe Library is a Standard ML library that provides an interface to
GObject-based libraries, such as GTK+.  The interface introduces some
abstraction of the libraries to provide expected features of Standard ML such
as:

  - automatic memory management (garbage collection)
  - type-safety
  - no uninitialized values
  - portable source code

For the most part, Giraffe Library is generated automatically from the GIR data
of the libraries.  At present, interfaces to parts of the following libraries
are available:

  - GTK+
  - Pango
  - GtkSourceView
  - VTE (Virtual Terminal Emulator)


         ---------------    2.  System Requirements     ---------------

Giraffe Library has been tested only on Fedora Linux i686 and x86_64 systems.
However, in principle, any system that satisfies the following requirements
should work.

At least one of the following Standard ML compilers is required:

  MLton    >= 20130715
  Poly/ML  >= 5.5.0

The following libraries are required:

  GTK+           >= 3.2.0
  Pango          >= 1.30.0
  GtkSourceView  >= 3.2.3
  VTE            >= 2.90

with the same major (most significant) version number.  Other versions may still
work depending on the functions actually used.

Other standard tools are required:
  - An ANSI C compiler, such as GCC.
  - Common GNU utilites, such as Make and Bash.


         ---------------        3.  Installation        ---------------

See the file 'INSTALL'.


         ---------------          4.  Licence           ---------------

The Giraffe Library runtime is released under the GNU LGPL.  See the file
'LICENCE.RUNTIME' for details.

A copy of the GNU GPL and the (additional terms of) the GNU LGPL are provided in
the files 'COPYING' and 'COPYING.LESSER' respectively.


         ---------------    5.  Contact and support     ---------------

For queries, please email

  Phil Clayton <phil.clayton@veonix.com>
