extras/graphics/samples/maze/maze.m:
As above, use mutables intead of the I/O globals.
extras/graphics/samples/maze/globals.m:
Delete this module; it is no longer required.
extras/graphics/samples/maze/maze.m:
Use the new random number generator framework.
Seed the random number generator using the system RNG, if
the user does not provide a seed.
Use the list shuffling code from the standard library.
Fix Makefiles for OpenGL examples on macOS.
extras/graphics/samples/maze.m:
extras/graphics/samples/globals.m:
Update programming style.
Replace tabs with spaces.
extras/graphics/samples/gears/Mmakefile.MacOSX:
extras/graphics/samples/maze/Mmakefile.MacOSX:
Set header includes for the C compiler.
Add a "run" target that sets DYLD_LIBRARY_PATH appropriately
for running the examples in situ.
extras/graphics/samples/pent/:
Delete this; the togl library it used has not been supported
for many years.
extras/graphics/README:
Delete the (incorrect) entry for the above.
Add a missing entry.
Remove old .cvsignore files, moving their contents to .gitignore files.
There are now no .cvsignore files in the repository.
I've also sorted some .gitignore files and avoided repeating a pattern in a
subdirectory's .gitignore file when it is already mentioned in the parent
.gitignore file.
This file-specific setting will override a default setting of expandtabs
in $HOME/.vimrc.
*/Makefile:
*/Mmakefile:
As above.
tests/hard_coded/.gitignore:
Don't ignore the purity subdir. This ignore must have been left over
from when purity.m was a test in hard_coded, not hard_coded/purity,
and it ignored an executable, not a directory.
extras/*/*.m:
Replace the use of '__' as a module qualifier in the rest of
the extras.
s/io\.state/io/ in the extras.
Use '=' instead of is/2 in a spot.
extras/.gitignore:
Mercury ignores the --use-{grade}-subdir dir
Mercury/** for git 1.8+ this recursively ignores all build files
ignoring *.mh and *.init files
*.err output files
lib*.{dll|so|a|dylib} ignores target compiler library output
*.jar ignores the Java grade output
*.exe for Windows executables
extras/dynamic_linking/.gitignore:
ignoring the copy of dl.m, name_mangle.m
ignoring hello lib and dl_test* executables
extras/moose/samples/.gitignore:
ignoring cgram.m small.m alpha.m expr.m which are
generated from the .moo grammar files
extras/graphics/mercury_cairo/samples/.gitignore:
ignoring *.png output and all executables
extras/**/.gitignore:
In each sample/test/example folder the linux executable/test
output is ignored
extras/trailed_update/tr_store.m:
Conform to runtime changes.
extras/gator/genotype.m:
extras/gator/phenotype.m:
extras/graphics/samples/maze/maze.m:
extras/trailed_update/samples/interpreter.m:
Conform to standard library changes.
Branches: main
extras/graphics/samples/pent/Mmakefile:
Fix broken line continuations.
extras/graphics/samples/pent/globals.m:
Conform to recent (and not so recent) stdlib changes.
extras/graphics/samples/maze/maze.m:
Fix some code that didn't confrom to the current representation of
the maze. (This wasn't caught at compile-time because of the use
of dynamic typing in this example.)
Estimated hours taken: 0.5
Branches: main
Make the globals field in the I/O state non-unique. There is an obvious
flaw in the unique version in that you can obtain multiple references
to a unique object just by calling the get_globals/3 predicate twice.
Also, the uniqueness aspect is rarely ever useful; most code that uses
it just ends up call unsafe_promise_unique/2.
library/io.m:
Make the globals field in the I/O state non-unique.
NEWS:
Mention this change.
compiler/globals.m:
extras/graphics/samples/maze/globals.m:
tests/hard_coded/io_globals_deadlock.m:
Conform to the above change.
Estimated hours taken: 0.3
Branches: main, release
Cleanups and minor fixes for the mtcltk calculator example.
extras/graphics/samples/calc/calc.m:
Conform to recent changes in the standard library.
Convert to 4-space indentation.
Use state variables for threading the I/O state.
Other formatting and style fixes.
Estimated hours taken: 0.1
Branches: main
Update the OpenGL samples to conform with recent standard library
changes.
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/maze/maze.m:
extras/graphics/samples/maze/globals.m:
Conform to recent library changes.
extras/graphics/mercury_glut/Mmakefile:
extras/graphics/mercury_opengl/Mmakefile:
extras/graphics/samples/gears/Mmakefile:
extras/graphics/samples/maze/Mmakefile:
Update the list of X libraries required by Mesa.
Estimated hours taken: 0.5
Branches: main
Provide an example of a how mutables can be used with the OpenGL/GLUT
bindings.
extras/graphics/samples/gears/gears.m:
Use the mutables in place of the globals module we previously used.
Don't pass the limit argument down to gears.init/2. We can set its
value directly after option processing now.
extras/graphics/samples/gears/globals.m:
Delete this module.
Estimated hours taken: 0.1
Branches: main
Provide an example of how to use an initialise declaration in a library
binding.
extras/graphics/mercury_glut/glut.m:
Use an initialise declaration to automatically initialise the GLUT
binding.
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/maze/maze.m:
Conform to the above change.
Estimated hours taken: 5
Branches: main and 0.12
Port the Tcl/Tk binding to Mac OS X.
extras/graphics/mercury_tcltk/HOWTO:
Remove the remark about interior pointers since it is no longer
applicable.
extras/graphics/mercury_tcltk/Mmakefile:
Try to link with tcl/tk 8.4 by default.
extras/graphics/mercury_tcltk/Mmakefile.MacOSX:
Mmakefile for Mac OS X.
extras/graphics/mercury_tcltk/README:
Mention Mmakefile.MacOSX.
extras/graphics/mercury_tcltk/mtcltk.m:
Include the headers from a different location on Mac OS X.
extras/graphics/samples/calc/Mmakefile.MacOSX:
Add a Mmakefile to compile the Tcl/Tk example on Mac OS X.
extras/graphics/samples/calc/README:
Add a README.
extras/graphics/samples/calc/calc.m:
Add spaces around some of the characters on the buttons, so that they
are visible in Mac OS X.
Estimated hours taken: 0.1
Branches: main
extras/graphics/samples/calc/Mmakefile:
Fix up this Mmakefile so that the calculator example builds
in place on our current machines.
Estimated hours taken: 3
Branches: main, release
Make the OpenGL/GLUT bindings compatible with OS X.
extras/graphics/mercury_opengl/mogl.m:
extras/graphics/mercury_opengl/mglu.m:
extras/graphics/mercury_glut/glut*.m:
Make sure the appropriate header files are included on OS X
systems.
Remove some unecessary imports and change the imports so that
they are one-per-line.
Workaround a problem with Apple's OpenGL implementation.
extras/graphics/mercury_glut/README:
extras/graphics/mercury_opengl/README:
Refer users to Mmakefile.MacOSX for instructions on how to build
the binding on OS X.
extras/graphics/mercury_opengl/Mmakefile.MacOSX:
extras/graphics/mercury_glut/Mmakefile.MacOSX:
New file. OS X specific Mmakefile for the GLUT binding.
extras/graphics/samples/gears/*.m:
Remove unecessary module imports. Import modules
one-per-line.
extras/graphics/*/.cvsignore:
Add .cvsignore files.
Estimated hours taken: 0.5 + unknown amount of time a while back
Branches: main
Convert the opengl maze demo to use glut rather than mtogl.
(It's more useful in this form since mtogl doesn't really work
anymore).
extras/graphics/samples/maze/maze.m:
extras/graphics/samples/maze/globals.m:
Use glut rather than mtgol.
Fix a problem where the maze wasn't resizing
properly when the window was resized.
Add a keyboard handler to make it easier to
quit.
Various syntax cleanups.
extras/graphics/samples/maze/Mmakefile:
Use glut rather than mtogl and tcl/tk.
Estimates hours taken: 1.5
Branches main.
extras/graphics/mercury_opengl/mogl.m:
Provide a binding for glGetString().
Fix the foreign proc attributes on mogl.is_list/4. It doesn't make
calls back to Mercury.
Fix some typos.
extras/graphics/samples/gears/gears.m:
Use mogl.get_string/4 to print out various details of the GL
implementation at the beginning of this demo.
Estimated hours taken: 1.5
Branches: main
Add a sample program that demonstrates the use of the
GLUT binding.
extras/graphics/samples/gears/Mmakefile:
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/gears/globals.m:
Add a sample program for the GLUT binding.
Estimated hours taken: 0.1
Branches: main
extras/graphics/samples/maze/Mmakefile:
Delete extraneous space after backslash,
so that the backslash is treated as a line continuation marker.
Estimated hours taken: 0.1
Branches: main
extras/graphics/samples/maze/Mmakefile:
Delete extraneous space after backslash,
so that the backslash is treated as a line continuation marker.
Estimated hours taken: 14.
Branches: main.
Remove dependency between mercury_opengl and mercury_tcltk by making
mtogl a separate library.
Modify togl so that it works with Tcl/Tk 8.0.5
(XXX It doesn't work (easily) with versions of Tcl/Tk greater than 8.0,
we probably ought to consider using togl 1.6 at some point).
Make a number of small changes (mainly adding casts and missing MR_* prefixes)
to prevent compiler warnings.
extras/graphics/README:
Mention the `mtogl' package.
extras/graphics/mercury_opengl/mercury_opengl.m:
extras/graphics/mercury_opengl/mglu.m:
extras/graphics/mercury_opengl/mogl.m:
Remove mtogl from mercury_opengl package.
Define quadric using pragma foreign_type
Add some missing MR_* prefixes.
extras/graphics/mercury_opengl/mtogl:
Remove references to header files that are no longer generated
by the compiler.
Use the new foreign language interface.
Add some missing MR_* prefixes.
extras/graphics/mercury_opengl/togl.c:
Allow the use of tk version 8.0.5
extras/graphics/mercury_opengl/tkInt8.0p5.h:
New file. (This is a part of tk)
extras/graphics/mercury_opengl/Mmakefile:
Update mmakefile to reflect above changes.
extras/graphics/mercury_opengl/README:
Mention mtogl.
extras/graphics/samples/calc/calc.m:
Add some missing underscores; this prevents compiler warnings
when compiling with intermodule-optimization enabled.
extras/graphics/samples/maze/Mmakefile:
extras/graphics/samples/pent/Mmakefile:
Update mmakefiles to reflect above changes.
Estimated hours taken: 0.5 (plus unknown by original contributor)
Branches: main
Apply some improvements to extras/graphics
from Holger Krug <hkrug@rationalizer.com>.
extras/graphics/mercury_tcltk/mtk.m:
Fix a bug: LVALUE_CAST renamed to MR_LVALUE_CAST.
extras/graphics/mercury_tcltk/mtk.m:
Provide access to the root window.
extras/graphics/samples/calc/calc.m:
Only create on top-level window.
Estimated hours taken: 0.5
extras/README:
Update the README file to accurately describe the directory.
samples/maze/globals.m:
Add the copyright message.
Estimated hours taken: 3
samples/calc/Mmakefile:
samples/maze/Mmakefile:
samples/maze/globals.m:
samples/maze/maze.m:
Clean up samples to use the library versions of the graphics
packages.
Estimated hours taken: 0.1
Place various bits of sample code in the public domain.
extras/complex_numbers/samples/fft.m:
extras/graphics/samples/calc/calc.m:
extras/graphics/samples/maze/maze.m:
samples/ultra_sub.m:
place the source in the public domain.