Tuesday, December 18, 2012

Installation Instructions for QuickSilver

Installation Instructions for Quicksilver
PowerPC/Apple architecture
  1. Decompress the archive in a directory of your choice (alias==$dir)
  2. Modify the script mmc in directory $dir/quicksilver-0.12.1.powerpc-apple-darwin8.3/bin so that the MERCURY_COMPILER variable points to$dir/quicksilver-0.12.2.powerpc-apple-darwin8.3/lib/mercury/bin/powerpc-apple-darwin8.3/lib/mercury_compile and so that theMERCURY_CONFIG_DIR variable points to $dir/quicksilver-0.12.2.powerpc-apple-darwin8.3/lib/mercury
  3. Export the following environmental variables with the following values:
    MERCURY_HOME$dir/quicksilver-0.12.2.powerpc-apple-darwin8.3
    MERCURY_STDLIB_DIR$MERCURY_HOME/lib/mercury
  4. Add the following paths to your DYLD_LIBRARY_PATH environmental variable:
    $MERCURY_STDLIB_DIR/lib/reg.gc/powerpc-apple-darwin8.3
    $MERCURY_STDLIB_DIR/lib/powerpc-apple-darwin8.3
  5. Add the following path to your PATH environmental variable:
    $MERCURY_HOME/bin
  6. Add the following path to your MANPATH environmental variable:
    $MERCURY_HOME/man
  7. You should be able to do the following with the file hello.m:
    $ mmc --make hello
    $ ./hello
  8. Since this compiler allows op/3 declarations, the following module, play.m, demonstrates this capability. I intentionally left out some declarations, so compiliation is slightly different:
    $ mmc --infer-all --make play
    $ ./play
Creating syntax with op/3 can become complicated when several operators interact to create a term. I've provided a module that prints the canonical representation of a parsed term (write_canonical.m) and a testing module (test_op.m) that allows prototyping of operator declarations and allows submitting terms under that syntax. The whole test system may be built in the usual way:
$ mmake test_op.depend
$ mmake test_op

No comments: