mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-15 13:55:07 +00:00
Estimated hours taken: 3 Branches: main Add a little more functionality to the OpenGL binding. In particular, add bindings for vertex fragment operations and (some) support for selection. Rename the logical_operation type so that the name is more consistent with that of other types. e.g. stencil_op, accum_op. Change the name of the constructors `notequal' and `noop' to `not_equal' and `no_op' respectively. The new names are clearer than the old ones. Add a missing MR_ prefix and remove an unnecessary assignment in the binding for mogl.get_error/3. extras/graphics/mercury_opengl/mogl.m: Add bindings for vertex fragment operations and selection. Add a missing MR_ prefix and remove an unnecessary assignment in the binding of glGetError(). Rename logical_operation type as logical_op for consistency with stencil_op and accum_op. s/notequal/not_equal s/noop/no_op/. extras/graphics/mercury_opengl/mglu.m: Add a binding for gluOrtho2D().
This directory contains various additional libraries, tools, and so forth that are not part of the Mercury standard library. cgi A couple of Mercury library modules for doing HTML forms programming using CGI (Common Gateway Interface). clpr A Mercury interface to the CLP(R) constraint solver, for solving arithmetic constraints on (floating point) real numbers. 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. exceptions A library module containing a (tentative) exception handling interface for Mercury. graphics A couple of packages for doing graphics programming and GUIs in Mercury: a Mercury interface to tcl/tk and a Mercury binding to OpenGL. 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 io__states, strings, and so forth. It comes with a rich set of standard regular expressions and the user is free to add their own. 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. odbc A Mercury interface to ODBC (Open Database Connectivity), for interfacing to standard relational database packages. quickcheck An autotesting tool similar to Haskell's QuickCheck. references A library package containing modules for manipulating ML-style references (mutable state). stream Generic IO interface using typeclasses.