Files
mercury/extras
Julien Fischer b07e7df74a Extend the Mercury GLUT binding to make some of the freeglut extensions
available if the GLUT implementation being used is freeglut.
Using these extensions in the absence of freeglut will cause an exception to
be thrown.

extras/graphics/mercury_glut/glut.m:
	Add a predicate have_freeglut/0 for testing whether freeglut
	is being used.

	Fix the description of glut.quit/2 - it shuts things down
	gracefully rather than simply aborting.

	Provide bindings to the following freeglut extensions:

		* glutMainLoopEvent
		* glutLeaveMainLoop
		* glutGet with GLUT_FULL_SCREEN

extras/graphics/mercury_glut/glut.model.m:
	Provide bindings to the following freeglut extensions:

		* glutWireRhombicDodecahedron
		* glutSolidRhombicDodecahedron

extras/graphics/mercury_glut/glut.window.m:
	Provide bindings to the following freeglut extennsions:

		* glutFullScreenToggle
		* glutLeaveFullScreeen

	(The latter doesn't appear to be available in the versions
	of freeglut that are on the Linux machines I tested this on,
	I've commented it out for the time being.)

extras/graphics/mercury_glut/*.m:
	Use don't-care variables for handling the I/O state in
	foreign_procs.  This avoids warnings from MSVC.

extras/graphics/mercury_glut/README:
	Mention that some of the freeglut extensions are now optionally
	supported.
2012-03-27 06:02:40 +00:00
..
2011-11-18 03:03:26 +00:00
2011-11-18 03:03:26 +00:00
2011-11-18 03:03:26 +00:00
2012-03-26 03:23:00 +00:00

This directory contains various additional libraries, tools,
and so forth that are not part of the Mercury standard library.

Most of these can be built by running the commands `mmake depend' and
then `mmake' in the relevant subdirectory, and many can be installed by
running `mmake install'.

base64          A library for base64 encoding and decoding.

cgi		A couple of Mercury library modules for doing HTML forms
		programming using CGI (Common Gateway Interface).

complex_numbers
		A Mercury library package containing support for
		complex and imaginary numbers.

curs		A Mercury library providing a somewhat more complete
		and more faithful binding to the curses and panel
		libraries (the latter is used to provide elementary
		windowing facilities, rather than doing so in Mercury).

curses		A Mercury library providing a (partial) binding to 
		curses; a package that provides methods for manipulating
		the text screen (creating windows, placing characters, etc).

dynamic_linking
		An interface to the C functions dlopen(), dlsym(), etc.
		that are supported by most modern Unix systems.

fixed		An implementation of fixed-point arithmetic with
		the COBOL semantics.

graphics	Some packages for doing graphics programming 
                and GUIs in Mercury: 
			- a binding to Tcl/Tk
			- a binding to OpenGL
			- a binding to GLUT
			- a binding to GLFW
			- a simplified binding to Xlib
			- a binding to Allegro/AllegroGL
			- a binding to Cairo.

lex		A lexer package for Mercury that works over the I/O state,
		strings, and so forth.  It comes with a rich set of
		standard regular expressions and the user is free to add
		their own.                                                      

log4m		A Mercury implementation of logging, in the spirit of
		log4j <http://logging.apache.org/log4j/docs/>.

moose		A parser generator for Mercury.  Moose works much like
		yacc or bison, it takes a grammar and generates a table
		driven LALR parser for it.  You can add code to the
		grammar to handle synthesized or inherited attributes.
		Currently you need to write your own lexer to interface
		to moose.

mopenssl	A Mercury binding to the openssl library.

morphine	A trace analysis system for Mercury.

net		A network library which uses the standard library stream
		interface.

odbc		A Mercury interface to ODBC (Open Database Connectivity),
		for interfacing to standard relational database packages.

posix		A Mercury interface to some of the POSIX
		(Portable Operating System Interface) APIs.

references	A library package containing modules for manipulating
		ML-style references (mutable state).

solver_types	Contains versions of some standard library modules
		adapted to make them suitable for use with solver
		types.

trailed_update	Some library modules that make use of backtrackable
		destructive update, including a module which provides
		some support for Prolog-style unification constraints.

windows_installer_generator
		A library for generating WiX source files.  WiX is an XML
		language that is used to generate Microsoft Windows Installer
		(.msi) packages.

xml		An XML parsing library.

xml_stylesheets
		Sample stylesheets that can be used with the term_to_xml
		module in the standard library.