mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-10 19:33:11 +00:00
Estimated hours taken: 1 Corrected a bug in moose whereby it failed to return a non-zero exit code when a critical error occured. Converted moose to modern syntax with regard to DCGs and State Variables and module delimters such as '__' vs '.'. Converted some indentation to four spaces. extras/moose/check.m: extras/moose/grammar.m: extras/moose/lalr.m: extras/moose/mercury_syntax.m: extras/moose/misc.m: extras/moose/moose.m: extras/moose/options.m: extras/moose/tables.m: As above. extras/moose/BUGS Noted a new bug. extras/moose/TODO Corrected a spelling mistake.
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. concurrency Support for coroutining and concurrent execution of deterministic (or cc_multi) goals, and some data structures for communicating between different concurrent threads. 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 Mercury interface to Tcl/Tk, a Mercury binding to OpenGL, a Mercury binding to GLUT, a simplified binding to Xlib and a binding to Allegro/AllegroGL. lazy_evaluation A library module `lazy' containing support for optional lazy evaluation in Mercury, together with some examples of its use, including a module `lazy_list' that defines a lazy list data type. lex A lexer package for Mercury that works over the IO 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. quickcheck An autotesting tool similar to Haskell's QuickCheck. 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.