Files
mercury/extras/morphine
Zoltan Somogyi 056d2213af Avoid using some Mercury keywords.
browser/browser_info.m:
    Avoid using "output" (and "input", for the sake of symmetry)
    as function symbols.

browser/debugger_interface.m:
    Avoid using "pred" and "func" as function symbols by putting a prefix
    before each function symbol in the affected type.

browser/dl.m:
    Avoid using "local" (and "global", again for symbols) as function symbols.

profiler/output_prof_info.m:
    Avoid using "output" as a type name and as a function symbol.

browser/browse.m:
browser/collect_lib.m:
browser/declarative_user.m:
browser/interactive_query.m:
profiler/generate_output.m:
profiler/output.m:
    Conform to the changes above.

extras/morphine/source/browse.op:
extras/morphine/source/collect.op:
extras/morphine/source/current_arg.op:
extras/morphine/source/current_slots.op:
extras/morphine/source/exec_control.op:
extras/morphine/source/forward_move.op:
extras/morphine/source/interactive_queries.op:
    Conform to the renames of the function symbols in debugger_interface.m.

    Since this code is in Prolog, I cannot be sure that I changed all the
    places that should be changed, but that does not matter much.

    Since Morphine was designed to work with the Prolog dialects of 1999,
    had its last update in 2002, and we never test it, it is very likely
    that it hasn't worked in a long time. We keep it around because
    (a) it may interest someone, and (b) it doesn't require significant
    maintenance. The fact that it does not run may be regrettable, but
    it is not actually regretted by many would-be users, or (even) any at all.

    (I actually noticed and fixed a bug while doing the above change:
    it was a typo in a function symbol name.)
2016-05-13 09:07:58 +10:00
..
2016-05-13 09:07:58 +10:00

* Morphine is a Copyright (C) 1999 INRIA/INSA de Rennes, under the GNU/GPL Licence.

				-o-

* Morphine, a trace analysis system for Mercury

Program execution traces given by traditional debuggers provide programmers
with useful pieces of information. However, using them requires to analyse by
hand huge amounts of information. Morphine is connected to the traditional
tracer of Mercury; it allows execution trace analyses to be automated. It
provides a relational trace query language based on Prolog which enables users
to specify precisely what they want to see in the trace. Morphine, then,
automatically filters out information irrelevant for the users.

Morphine provides users a langage to write their own debugging primitives
(Prolog + 2 primitives connected to the Mercury trace system) and their own
monitors (see the `collect' command).

				-o-

* Morphine installation

To install Morphine, you just need to:

1) Run the script `INSTALL-MORPHINE' (that creates the `morphine' script in 
   the `morphine/scripts/' directory).
2) Add directories ` morphine/scripts/' and `morphine/bin/' in your `PATH' 
   environment variable. Make sure that the executables `mmc' and `eclipse' 
   are also accessible from your `PATH'. 


Note that Morphine requires ECLiPSe, a Prolog system which is free to
universities and non-profit research institutions. You can download it at
`http://www.icparc.ic.ac.uk/eclipse/'. Also make sure that the package
eclipse_misc.tgz has been downloaded (i.e. if there exists a directory named
`lib_pd' in the ECLiPSe installation directory); Morphine needs it.

Morphine does not require Mercury to be installed, but you might also want to
install it ;-)

				-o-

* The current release of Morphine has been tested with the following 
  configurations: 

o Architectures: sparc/Solaris2.[5,6,7] and i686/Linux kernel 2.0
o ECLiPSe 4.1 or later
o Mercury: later than 1999-15-10 release of the day, or version 0.9 or later.

				-o-

For more information about Morphine, including a tutorial on how to use
the system, please look at the Morphine web site:

http://www.irisa.fr/lande/jahier/download.html

				-o-