Thursday, December 27, 2007

Installation Instructions

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 the MERCURY_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


Copyright © 2006, Logical Types, LLC. All rights reserved.


No comments:

Post a Comment