[m-dev.] Opium-M ---> Morphine

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Dec 16 02:27:10 AEDT 1999


On 16-Dec-1999, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 15-Dec-1999, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > On 15-Dec-1999, Erwan Jahier <Erwan.Jahier at irisa.fr> wrote:
> > > This diff is quite boring and pass my non-regression tests. So, I don't think
> > > it needs a review.
> > 
> > I reviewed it anyway -- it looks fine.
> 
> Actually all the changes you made look fine, but on further
> investigation I see there are lots of occurrences of `opium'
> still in the source code and documentation.
> 
> I'll fix those.

Unfortunately it's difficult for me to test my fix,
since we don't have Eclipse 4.1 installed,
which this version of Opium-M / Morphine requires.

[Installing a new version of Eclipse requires either knowing the Eclipse
download password (which I don't -- and the person who installed
the last version of Eclipse here has long since left Melbourne Uni),
or printing out a form, signing it, and snail mailing it to get a new one.
This is a PITA and will also take too long.]

Furthermore, it seems that there are some occurrences
of `opium' that need to say as they are, since they refer
to parts of Eclipse (which has some Opium stuff built in now).
Therefore fixing this is not just a matter of applying `sed'
scripts, I think; careful judgement is required.  To be sure
I had it right, I'd need to (a) read the source code for the
relevant parts of Eclipse and (b) test it.

Given all this, I think that Morphine is just not going to be
stable enough, in a way that we can verify, within the release
time-frame.  At this point in the release process it's just
a bit too late to be making significant changes like that that
could introduce bugs; if you try to do it in a rush, there is
just too much chance that something will go wrong, and if we
can't test it, I think that pretty much conclusively rules out
such changes at this point.  So I'm afraid we'll have to ship
0.9 without Morphine.  Sorry.

But there may well be a 0.9.1 sometime in the not too distant future.
We may be able to include Morphine in that, if all of the various issues
have been resolved by then.

Anyway, here's a diff for my untested changes to get rid
of the remaining occurrences of "opium".  I won't commit
this, since I can't test it.  But you might want to apply
it (using tools/cvspatch), test it, and if it works, to
commit it.

----------

Estimated hours taken: 1

extras/morphine/*:
extras/morphine/*/*:
	Change all the remaining occurrences of `opium'
	to `morphine', except for the ones in the parts of the
	`source/patch.*' files representing old code.

cvs diff: Diffing .
Index: INSTALL-MORPHINE
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/INSTALL-MORPHINE,v
retrieving revision 1.1
diff -u -d -u -r1.1 INSTALL-MORPHINE
--- INSTALL-MORPHINE	1999/11/11 04:52:01	1.1
+++ INSTALL-MORPHINE	1999/12/15 14:07:15
@@ -3,14 +3,14 @@
 #
 # Author : Erwan Jahier <jahier at irisa.fr>
 #
-# This script creates the Opium-M script.
+# This script creates the Morphine script.
 
 
 
-MERCURY_OPIUM_DIR=`pwd`
-export MERCURY_OPIUM_DIR 
+MERCURY_MORPHINE_DIR=`pwd`
+export MERCURY_MORPHINE_DIR 
 cd scripts
-rm -f Opium-M
+rm -f Morphine
 
 # Get the Mercury library path (needed in source scenario)
 MmcDefault=/soft/mercury/library
@@ -23,24 +23,24 @@
         *)    LIB_MERCURY=$RESPONSE;;
 esac
 
-cat << EOF >> Opium-M
+cat << EOF >> Morphine
 #!/bin/sh
 # Copyright (C) 1999 INRIA/INSA. 
 #  
 # Author : Erwan Jahier <jahier at irisa.fr> 
 # 
-# Script generated by INSTALL-OPIUM-M. 
+# Script generated by INSTALL-MORPHINE. 
 
 Help=" 
-Name:  Opium-M 
-Usage: Opium-M [--no-banner]
+Name:  Morphine 
+Usage: Morphine [--no-banner]
 Description: 
-       Runs Opium-M, the Mercury trace analyser. 
+       Runs Morphine, the Mercury trace analyser. 
 "
 
-#This variable should contain the path where Opium-M has been installed 
-MERCURY_OPIUM_DIR=$MERCURY_OPIUM_DIR
-export MERCURY_OPIUM_DIR 
+#This variable should contain the path where Morphine has been installed 
+MERCURY_MORPHINE_DIR=$MERCURY_MORPHINE_DIR
+export MERCURY_MORPHINE_DIR 
 
 #This variable should contain the path of the mercury library source files  
 #(which is needed in the source scenario)  
@@ -48,9 +48,9 @@
 export LIB_MERCURY 
  
 case \$1 in
-    --no-banner) COMMAND="eclipse -b ${MERCURY_OPIUM_DIR}/source/load_opium_without_banner.pl " ;;
+    --no-banner) COMMAND="eclipse -b ${MERCURY_MORPHINE_DIR}/source/load_morphine_without_banner.pl " ;;
 
-     *) COMMAND="eclipse -b ${MERCURY_OPIUM_DIR}/source/load_opium.pl " ;;
+     *) COMMAND="eclipse -b ${MERCURY_MORPHINE_DIR}/source/load_morphine.pl " ;;
 esac
 
 exec \$COMMAND 
@@ -61,21 +61,21 @@
 
 echo "Compiling the Mercury program listing.m..."
 [ -d bin ] || mkdir bin
-cd ${MERCURY_OPIUM_DIR}/source
+cd ${MERCURY_MORPHINE_DIR}/source
 mmake listing.depend
 mmake listing
-mv ${MERCURY_OPIUM_DIR}/source/listing ${MERCURY_OPIUM_DIR}/bin/
-chmod a+x ${MERCURY_OPIUM_DIR}/bin/listing
+mv ${MERCURY_MORPHINE_DIR}/source/listing ${MERCURY_MORPHINE_DIR}/bin/
+chmod a+x ${MERCURY_MORPHINE_DIR}/bin/listing
 mmake listing.realclean
 
-chmod a+x ${MERCURY_OPIUM_DIR}/scripts/Opium-M
+chmod a+x ${MERCURY_MORPHINE_DIR}/scripts/Morphine
 
-echo "Compiling Opium-M files..."
-eclipse -b ${MERCURY_OPIUM_DIR}/source/make_scenario.pl
+echo "Compiling Morphine files..."
+eclipse -b ${MERCURY_MORPHINE_DIR}/source/make_scenario.pl
 
 echo ""
-echo "  Don't forget to add ${MERCURY_OPIUM_DIR}/scripts and"
-echo "  ${MERCURY_OPIUM_DIR}/bin to your PATH."
+echo "  Don't forget to add ${MERCURY_MORPHINE_DIR}/scripts and"
+echo "  ${MERCURY_MORPHINE_DIR}/bin to your PATH."
 echo "  Make sure that the executables mmc and eclipse are accessible "
 echo "  from your PATH too."
 
cvs diff: INSTALL-OPIUM-M was removed, no comparison available
Index: README
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/README,v
retrieving revision 1.2
diff -u -d -u -r1.2 README
--- README	1999/12/14 23:51:43	1.2
+++ README	1999/12/15 14:07:15
@@ -1,44 +1,44 @@
 # Copyright (C) 1999 INRIA/INSA.
 
-* Opium-M, a trace analysis system for Mercury
+* 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. Opium-M is connected to the traditional
+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. Opium-M, then,
+to specify precisely what they want to see in the trace. Morphine, then,
 automatically filters out information irrelevant for the users.
 
-Opium-M provides users a langage to write their own debugging primitives
+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-
 
-* Opium-M installation
+* Morphine installation
 
-To install Opium-M, you just need to:
+To install Morphine, you just need to:
 
-1) Run the script `INSTALL-OPIUM-M' (that creates the `Opium-M' script in 
-   the `opium_m/scripts/' directory).
-2) Add directories ` opium_m/scripts/' and `opium_m/bin/' in your `PATH' 
+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 Opium-M requires ECLiPSe, a Prolog system which is free to
+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); Opium-M needs it.
+`lib_pd' in the ECLiPSe installation directory); Morphine needs it.
 
-Opium-M does not require Mercury to be installed, but you might also want to
+Morphine does not require Mercury to be installed, but you might also want to
 install it ;-)
 
 				-o-
 
-* The current release of Opium-M has been tested with the following 
+* 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
@@ -47,7 +47,7 @@
 
 				-o-
 
-For more information about Opium-M, you can have a look at the Opium-M
+For more information about Morphine, you can have a look at the Morphine
 web site:
 
 http://www.irisa.fr/lande/jahier/download.html
Index: morphine-mode.el
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/morphine-mode.el,v
retrieving revision 1.1
diff -u -d -u -r1.1 morphine-mode.el
--- morphine-mode.el	1999/11/11 04:52:02	1.1
+++ morphine-mode.el	1999/12/15 14:07:15
@@ -3,18 +3,18 @@
 ; 
 ; Author : Mireille Ducassé <ducasse at irisa.fr>
 ;
-; opium mode to help to declare opium's objects
+; morphine mode to help to declare morphine's objects
 
-(defun opium-mode ()
+(defun morphine-mode ()
   (interactive)
-      (setq mode-name "opium-mode")
+      (setq mode-name "morphine-mode")
 )
 
 
 (defun scenario ()
   (interactive)
            (end-of-line)
-           (insert-string "\nopium_scenario(\n")
+           (insert-string "\nmorphine_scenario(\n")
            (insert-string 
                (concat "\tname\t\t: "
                        (read-string "Name ? ")
@@ -32,12 +32,12 @@
                        (read-string " Help Message ? ")
                        "\"\n"))
            (insert-string "\t).\n")
-           (message "opium_scenario defined"))
+           (message "morphine_scenario defined"))
 
 
 (defun command ()
   (interactive)
-               (insert-string "\nopium_command(\n")
+               (insert-string "\nmorphine_command(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -60,7 +60,7 @@
                            ",\n"))
                (insert-string 
                    (concat "\tcommand_type\t: "
-                           (read-string "Command type ? (trace/opium/tool) ")
+                           (read-string "Command type ? (trace/morphine/tool) ")
                            ",\n"))
               (insert-string 
                    (concat "\timplementation\t: "
@@ -75,12 +75,12 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_command defined"))
+               (message "morphine_command defined"))
 
 
 (defun primitive ()
   (interactive)
-               (insert-string "\nopium_primitive(\n")
+               (insert-string "\nmorphine_primitive(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -106,12 +106,12 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_primitive defined"))
+               (message "morphine_primitive defined"))
 
 
 (defun procedure ()
   (interactive)
-           (insert-string "\nopium_procedure(\n")
+           (insert-string "\nmorphine_procedure(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -133,12 +133,12 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_procedure defined"))
+               (message "morphine_procedure defined"))
 
 
 (defun parameter ()
   (interactive)
-               (insert-string "\nopium_parameter(\n")
+               (insert-string "\nmorphine_parameter(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -168,12 +168,12 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_parameter defined"))
+               (message "morphine_parameter defined"))
 
 
 (defun type ()
   (interactive)
-               (insert-string "\nopium_type(\n")
+               (insert-string "\nmorphine_type(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -187,12 +187,12 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_type defined"))
+               (message "morphine_type defined"))
 
 
 (defun demo ()
   (interactive)
-               (insert-string "\nopium_demo(\n")
+               (insert-string "\nmorphine_demo(\n")
                (insert-string 
                    (concat "\tname\t\t: "
                            (read-string "Name ? ")
@@ -210,4 +210,4 @@
                            (read-string "Help Message ? ")
                            "\"\n"))
                (insert-string "\t).\n")
-               (message "opium_demo defined"))
+               (message "morphine_demo defined"))
cvs diff: opium-mode.el was removed, no comparison available
cvs diff: Diffing non-regression-tests
Index: non-regression-tests/queens.exp
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/non-regression-tests/queens.exp,v
retrieving revision 1.2
diff -u -d -u -r1.2 queens.exp
--- non-regression-tests/queens.exp	1999/12/15 13:40:24	1.2
+++ non-regression-tests/queens.exp	1999/12/15 14:07:16
@@ -395,7 +395,7 @@
     manual
     latex_manual
     window_command
-    opium_command_in_module
+    morphine_command_in_module
     print_man
 
 man(apropos)
@@ -409,12 +409,12 @@
     manual
     latex_manual
     window_command
-    opium_command_in_module
+    morphine_command_in_module
     print_man
 
 
 Name 	: atom
-type of command : opium
+type of command : morphine
 scenario : help (GloLoc in morphine)
 
 ok.
cvs diff: Diffing scripts
cvs diff: Diffing source
Index: source/browse.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/browse.op,v
retrieving revision 1.1
diff -u -d -u -r1.1 browse.op
--- source/browse.op	1999/11/11 04:52:19	1.1
+++ source/browse.op	1999/12/15 14:07:16
@@ -7,13 +7,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: browse,
 	arg_list	: [VarName],
 	arg_type_list	: [string],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: browse_Op,
 	parameters	: [],
 	message		:
Index: source/collect.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/collect.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 collect.op
--- source/collect.op	1999/12/15 13:40:46	1.2
+++ source/collect.op	1999/12/15 14:07:16
@@ -15,7 +15,7 @@
 % 4) dynamically link it with the current execution (dyn_link_collect/0).
 % 5) run the command (run_command/1).
 
-opium_scenario(
+morphine_scenario(
 	name		: collect,
 	files		: [collect],
 	scenarios	: [],
@@ -121,7 +121,7 @@
 :- func goal_path(event::in) = (goal_path_string::out) is det.\n\
 :- func arguments(event::in) = (arguments::out) is det. (*)\n\
 \n\
-(*) To be able to retrieve arguments, you to need to have the opium parameter \n\
+(*) To be able to retrieve arguments, you to need to have the morphine parameter \n\
 `collect_arg' set to yes (`man collect_arg.' for more details).\n\
 \n\
 Then, this file is used to generate the Mercury module `collect.m', \
@@ -141,13 +141,13 @@
 	).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: collect,
 	arg_list	: [File, Result],
 	arg_type_list	: [is_atom_or_string, is_atom_or_var],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: collect_Op,
 	parameters	: [collect_arg],
 	message		:
@@ -208,7 +208,7 @@
 
 %------------------------------------------------------------------------------%
 
-opium_parameter(
+morphine_parameter(
 	name		: collect_arg,
 	arg_list	: [YesOrNo],
 	arg_type_list	: [member([yes, no])],
@@ -224,7 +224,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: compile_collect,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -262,7 +262,7 @@
 	abort.
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_grade,
 	arg_list	: [Grade],
 	arg_type_list	: [var],
@@ -279,7 +279,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: generate_collect,
 	arg_list	: [File],
 	arg_type_list	: [is_atom_or_var],
@@ -350,7 +350,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: dyn_link_collect,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -396,7 +396,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: run_collect,
 	arg_list	: [Result],
 	arg_type_list	: [var],
Index: source/control_flow.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/control_flow.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 control_flow.op
--- source/control_flow.op	1999/12/15 13:40:46	1.2
+++ source/control_flow.op	1999/12/15 14:07:17
@@ -6,7 +6,7 @@
 %
 
 %------------------------------------------------------------------------------%
-opium_scenario(
+morphine_scenario(
 	name		: control_flow,
 	files		: [control_flow],
 	scenarios	: [collect],
@@ -18,7 +18,7 @@
 	).
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: ps_viewer,
 	arg_list	: [String],
 	arg_type_list	: [string],
@@ -32,13 +32,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: control_flow_graph,
 	arg_list	: [ProgramCall],
 	arg_type_list	: [is_mercury_program_call],
 	abbrev		: cfg,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: control_flow_graph_Op,
 	parameters	: [ps_viewer],
 	message		:
@@ -88,13 +88,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: dynamic_call_graph,
 	arg_list	: [ProgramCall],
 	arg_type_list	: [is_mercury_program_call],
 	abbrev		: dcg,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: dynamic_call_graph_Op,
 	parameters	: [ps_viewer],
 	message		:
@@ -189,7 +189,7 @@
 	dump_graph(CG).
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: compile_dot,
 	arg_list	: [DotFile, PsFile],
 	arg_type_list	: [string, string],
@@ -207,7 +207,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: display_ps,
 	arg_list	: [PsFile],
 	arg_type_list	: [string],
Index: source/coprocess.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/coprocess.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 coprocess.op
--- source/coprocess.op	1999/12/15 13:40:46	1.2
+++ source/coprocess.op	1999/12/15 14:07:37
@@ -54,7 +54,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: end_connection,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -119,7 +119,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: mercury_morphine_socket_address,
 	arg_list	: [SocketAdress],
 	arg_type_list	: [string],
@@ -134,7 +134,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: debug_morphine,
 	arg_list	: [OnOff],
 	arg_type_list	: [is_member([on, off])],
@@ -147,7 +147,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: morphine_write_debug,
 	arg_list	: [X],
 	implementation	: morphine_write_debug_Op,
@@ -164,7 +164,7 @@
 	).
 
 
-opium_procedure(
+morphine_procedure(
 	name		: morphine_write_debug,
 	arg_list	: [Stream, X],
 	implementation	: morphine_write_debug_Op,
@@ -182,7 +182,7 @@
 	flush(Stream).
 
 
-opium_procedure(
+morphine_procedure(
 	name		: morphine_printf_debug,
 	arg_list	: [Format, X],
 	implementation	: morphine_printf_debug_Op,
@@ -199,7 +199,7 @@
 	).
 
 
-opium_procedure(
+morphine_procedure(
 	name		: morphine_printf_debug,
 	arg_list	: [Stream, Format, X],
 	implementation	: morphine_printf_debug_Op,
Index: source/current_arg.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/current_arg.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 current_arg.op
--- source/current_arg.op	1999/12/15 13:40:46	1.2
+++ source/current_arg.op	1999/12/15 14:07:37
@@ -9,7 +9,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_arg,
 	arg_list	: [ArgumentList],
 	arg_type_list	: [is_list_or_var],
@@ -112,7 +112,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_arg_names,
 	arg_list	: [ListArgNames],
 	arg_type_list	: [is_list_or_var],
@@ -146,7 +146,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_arg_types,
 	arg_list	: [ListArgTypes],
 	arg_type_list	: [is_list_or_var],
@@ -180,7 +180,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_vars,
 	arg_list	: [LiveArgList, OtherLiveVarList],
 	arg_type_list	: [is_list_or_var, is_list_or_var],
@@ -311,14 +311,14 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: current_live_var,
 	arg_list	: [VarId, VarValue, VarType],
 	arg_type_list	: [is_string_or_integer_or_var, is_term, 
 				is_atom_or_var],
 	abbrev		: clv,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: current_live_var_Op,
 	parameters	: [],
 	message		:
@@ -379,7 +379,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_live_var_names_and_types,
 	arg_list	: [ListVarNames],
 	arg_type_list	: [is_list_or_var],
@@ -429,7 +429,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_live_var_names_and_types,
 	arg_list	: [],
 	arg_type_list	: [],
Index: source/current_slots.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/current_slots.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 current_slots.op
--- source/current_slots.op	1999/12/15 13:40:47	1.2
+++ source/current_slots.op	1999/12/15 14:07:37
@@ -11,13 +11,13 @@
 :- op(900, xfy, and).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: current,
 	arg_list	: [AttributesConjunctOrList],
 	arg_type_list	: [is_list_or_conj_of_attributes_current],
 	abbrev		: curr,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: current_Op,
 	parameters	: [],
 	message		:
@@ -112,7 +112,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: current_attributes,
 	arg_list	: [Chrono, Call, Depth, Port, PredOrFunc, DeclModule, 
 				DefModule, Name, Arity, ModeNumber, Det, 
@@ -479,7 +479,7 @@
 %	!.
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_list_or_conj_of_attributes_current,
 	implementation	: is_list_or_conj_of_attributes_current_Op,
 	message		: 
@@ -559,13 +559,13 @@
 	).
 
 %------------------------------------------------------------------------------%
-% opium_command(
+% morphine_command(
 % 	name		: stack,
 % 	arg_list	: [List],
 % 	arg_type_list	: [is_list_or_var],
 % 	abbrev		: _,
 % 	interface	: button,
-% 	command_type	: opium,
+% 	command_type	: morphine,
 % 	implementation	: stack_Op,
 % 	parameters	: [],
 % 	message		:
@@ -617,13 +617,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: stack,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: stack_Op,
 	parameters	: [],
 	message		:
@@ -636,7 +636,7 @@
 	display_stack(StackListRev).
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		:  nondet_stack,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -659,7 +659,7 @@
 	fail.
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		:  stack_regs,
 	arg_list	: [],
 	arg_type_list	: [],
Index: source/display.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/display.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 display.op
--- source/display.op	1999/12/15 13:40:47	1.2
+++ source/display.op	1999/12/15 14:07:37
@@ -4,7 +4,7 @@
 % Author : Erwan Jahier <jahier at irisa.fr>
 %
 
-opium_scenario(
+morphine_scenario(
 	name		: display,
 	files		: [display],
 	scenarios	: [],
@@ -17,13 +17,13 @@
 	).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: print_event,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: p,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: print_event_Op,
 	parameters	: [indent_display, attribute_display, arg_undisplay, 
 				list_display, term_display],
@@ -95,13 +95,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: print_displayed_attributes,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: print_displayed_attributes_Op,
 	parameters	: [indent_display, attribute_display, arg_undisplay, 
 				list_display, term_display],
@@ -145,13 +145,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: print_full_event,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: pf,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: print_full_event_Op,
 	parameters	: [indent_display, arg_undisplay, 
 				list_display, term_display],
@@ -170,13 +170,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: print_full_displayed_attributes,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: print_full_displayed_attributes_Op,
 	parameters	: [indent_display, attribute_display, arg_undisplay, 
 				list_display, term_display],
@@ -207,13 +207,13 @@
 	!.	
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: indent,
 	arg_list	: [OnOff],
 	arg_type_list	: [is_member([on, off])],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: indent_Op,
 	parameters	: [indent_display],
 	message		:
@@ -234,13 +234,13 @@
 	set_parameter(indent_display, [OnOff, Value, 1]).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: absolute_indent,
 	arg_list	: [Depth],
 	arg_type_list	: [integer],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: absolute_indent_Op,
 	parameters	: [indent_display],
 	message		:
@@ -257,7 +257,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_indent,
 	arg_list	: [IndentFlag, IndentValue, IndentDepth, CurrDepth],
 	implementation	: write_indent_Op,
@@ -303,7 +303,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_attribute,
 	arg_list	: [AttributeName, AttributeValue],
 	implementation	: write_attribute_Op,
@@ -435,7 +435,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_arg_attribute,
 	arg_list	: [Procedure, ListArg, ArgFlag, TypeFlag],
 	implementation	: write_arg_attribute_Op,
@@ -516,7 +516,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_nth_arg,
 	arg_list	: [Arg, N, Procedure],
 	%arg_list	: [Arg, N, DeclModule:Name/Arity-ModeNum],
@@ -546,7 +546,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_arg,
 	arg_list	: [Arg],
 	implementation	: write_arg_Op,
@@ -581,7 +581,7 @@
 	write_term(A).
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_term,
 	arg_list	: [Term],
 	implementation	: write_term_Op,
@@ -903,7 +903,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_list,
 	arg_list	: [List],
 	implementation	: write_list_Op,
@@ -1098,7 +1098,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_ersatz,
 	arg_list	: [],
 	implementation	: write_ersatz_Op,
@@ -1115,7 +1115,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_comma,
 	arg_list	: [],
 	implementation	: write_comma_Op,
@@ -1130,7 +1130,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: write_trace,
 	arg_list	: [X],
 	implementation	: write_trace_Op,
@@ -1155,7 +1155,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: attribute_display,
 	arg_list	: [Chrono, Call, Port, Depth, Deter, PredOrFunc, 
 				DeclModule, DefModule, Name, Arity, 
@@ -1182,7 +1182,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: arguments_display,
 	arg_list	: [Type],
 	arg_type_list	: [is_member([normal, simple])],
@@ -1199,7 +1199,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: list_display,
 	arg_list	: [Type, Range],
 	arg_type_list	: [is_member([normal, nest, truncate]), integer],
@@ -1216,7 +1216,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: term_display,
 	arg_list	: [Type, Range],
 	arg_type_list	: [is_member([normal, nest, truncate]), integer],
@@ -1234,7 +1234,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: indent_display,
 	arg_list	: [OnOff, IndentationValue, Depth],
 	arg_type_list	: [is_member([on, off]), atomic, integer],
@@ -1251,7 +1251,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: indent_display_limit,
 	arg_list	: [IndentLimit],
 	arg_type_list	: [integer],
@@ -1265,7 +1265,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: arg_undisplay,
 	arg_list	: [Name, ArgNo],
 	arg_type_list	: [is_proc, integer],
@@ -1297,7 +1297,7 @@
 get_optype(fy,  prefix)  :- !.
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: read_input,
 	arg_list	: [Input],
 	implementation	: read_input_Op,
@@ -1315,13 +1315,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: toggle,
 	arg_list	: [AttributeName],
 	arg_type_list	: [atom],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: toggle_Op,
 	parameters	: [],
 	message		:
@@ -1520,7 +1520,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: display_stack,
 	arg_list	: [Stack],
 	implementation	: display_stack_Op,
@@ -1570,7 +1570,7 @@
 	flush(trace).
 
 %------------------------------------------------------------------------------%
-opium_procedure(
+morphine_procedure(
 	name		: display_list_var_names,
 	arg_list	: [ListVarNames],
 	implementation	: display_list_var_names_Op,
Index: source/event_attributes.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/event_attributes.op,v
retrieving revision 1.1
diff -u -d -u -r1.1 event_attributes.op
--- source/event_attributes.op	1999/11/11 04:52:22	1.1
+++ source/event_attributes.op	1999/12/15 14:07:38
@@ -9,7 +9,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_port,
 	implementation	: is_port_Op,
 	message		:
@@ -23,7 +23,7 @@
 	is_list_of_ports_Op([Port]).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_port_or_var,
 	implementation	: is_port_or_var_Op,
 	message		:
@@ -35,7 +35,7 @@
 	is_port(X).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_list_of_ports,
 	implementation	: is_list_of_ports_Op,
 	message		:
@@ -63,7 +63,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_port_attribute,
 	implementation	: is_port_attribute_Op,
 	message		:
@@ -89,7 +89,7 @@
     .
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_goal_path,
 	implementation	: is_goal_path_Op,
 	message		: 
@@ -127,7 +127,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_goal_path_or_var,
 	implementation	: is_goal_path_or_var_Op,
 	message		:
@@ -141,7 +141,7 @@
 
 
 %------------------------------------------------------------------------------%
-% Should we need a Opium declaration for this one ?
+% Should we need a Morphine declaration for this one ?
 % :- pred is_list_of_paths(attribute).
 % :- mode is_list_of_paths(in) is semidet.
 is_list_of_goal_paths([X|Xs]) :-
@@ -151,7 +151,7 @@
 is_list_of_goal_paths([]).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_goal_path_attribute,
 	implementation	: is_goal_path_attribute_Op,
 	message		:
@@ -178,7 +178,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_atom_attribute,
 	implementation	: is_atom_attribute_Op,
 	message		:
@@ -205,7 +205,7 @@
     .
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_proc_type,
 	implementation	: is_proc_type_Op,
 	message		:
@@ -217,7 +217,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_proc_type_attribute,
 	implementation	: is_proc_type_attribute_Op,
 	message		:
@@ -244,7 +244,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_det_marker,
 	implementation	: is_det_marker_Op,
 	message		:
@@ -257,7 +257,7 @@
 	is_list_of_dets_Op([Det]).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_det_marker_or_var,
 	implementation	: is_det_marker_or_var_Op,
 	message		:
@@ -270,7 +270,7 @@
 	is_det_marker(X).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_list_of_dets,
 	implementation	: is_list_of_dets_Op,
 	message		:
@@ -291,7 +291,7 @@
 	'ERR', 'FAIL', 'CCNON', 'CCMUL']).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_det_marker_attribute,
 	implementation	: is_det_marker_attribute_Op,
 	message		:
@@ -318,7 +318,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_proc,
 	implementation	: is_proc_Op,
 	message		:
@@ -433,7 +433,7 @@
 	!.
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_proc_or_var,
 	implementation	: is_proc_or_var_Op,
 	message		:
@@ -445,7 +445,7 @@
 	is_proc(X).
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_arg_attribute,
 	implementation	: is_arg_attribute_Op,
 	message		:
@@ -457,7 +457,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_integer_attribute,
 	implementation	: is_integer_attribute_Op,
 	message		:
@@ -501,7 +501,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_string_attribute,
 	implementation	: is_string_attribute_Op,
 	message		:
@@ -534,13 +534,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: list_attribute_aliases,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: laa,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: list_attribute_aliases_op,
 	parameters	: [],
 	message		:
@@ -594,7 +594,7 @@
 	printf("%19s: %w\n", [stack, Lstack]).
 
 %------------------------------------------------------------------------------%
-% opium_primitive(
+% morphine_primitive(
 % 	name		: is_alias_for,
 % 	arg_list	: [AttributeName, Alias],
 % 	arg_type_list	: [atom, atom],
Index: source/exec_control.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/exec_control.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 exec_control.op
--- source/exec_control.op	1999/12/15 13:40:47	1.2
+++ source/exec_control.op	1999/12/15 14:07:38
@@ -9,7 +9,7 @@
 
 
 %--------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: init_morphine_session,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -61,13 +61,13 @@
 	).
 
 %--------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: re_init_morphine,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: re_init_morphine_Op,
 	parameters	: [],
 	message		:
@@ -85,13 +85,13 @@
 	abort.
 
 %--------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: run,
 	arg_list	: [ProgramCall],
 	arg_type_list	: [is_mercury_program_call],
 	abbrev		: _,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: run_Op,
 	parameters	: [],
 	message		:
@@ -164,7 +164,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_primitive(
+morphine_primitive(
 	name		: decompose_path_call_and_args,
 	arg_list	: [PathCallArgs, Path, Call, Args],
 	arg_type_list	: [is_atom_or_string, string, string, string],
@@ -272,7 +272,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_mercury_program_call,
 	implementation	: is_mercury_program_call_Op,
 	message		: 
@@ -341,13 +341,13 @@
 	string_list(S, L).
 
 %------------------------------------------------------------------------------%
-% opium_command(
+% morphine_command(
 % 	name		: run_remote,
 % 	arg_list	: [MachineName, ProgramCall],
 % 	arg_type_list	: [string, is_atom_or_string],
 % 	abbrev		: _,
 % 	interface	: button,
-% 	command_type	: opium,
+% 	command_type	: morphine,
 % 	implementation	: run_remote_Op,
 % 	parameters	: [],
 % 	message		:
@@ -402,13 +402,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: abort_trace,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: a,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: abort_trace_Op,
 	parameters	: [],
 	message		:
@@ -424,13 +424,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: no_trace,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: o,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: no_trace_Op,
 	parameters	: [],
 	message		:
@@ -448,13 +448,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: rerun,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: r,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: rerun_Op,
 	parameters	: [],
 	message		:
@@ -496,7 +496,7 @@
 	fail.
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: goto,
 	arg_list	: [Chrono],
 	arg_type_list	: [integer],
@@ -528,7 +528,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: socket_domain,
 	arg_list	: [Domain],
 	arg_type_list	: [is_member([unix, inet])],
@@ -542,7 +542,7 @@
 	).
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: window_command,
 	arg_list	: [String],
 	arg_type_list	: [string],
@@ -560,13 +560,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: no_window,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: no_window_Op,
 	parameters	: [window_command],
 	message		:
@@ -578,13 +578,13 @@
 	set_parameter(window_command, [""]).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: use_xterm,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: use_xterm_Op,
 	parameters	: [window_command],
 	message		:
@@ -597,13 +597,13 @@
 	set_parameter(window_command, ["xterm -e "]).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: use_gdb,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: use_gdb_Op,
 	parameters	: [window_command],
 	message		:
Index: source/forward_move.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/forward_move.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 forward_move.op
--- source/forward_move.op	1999/12/15 13:40:47	1.2
+++ source/forward_move.op	1999/12/15 14:07:38
@@ -18,7 +18,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: fget,
 	arg_list	: [AttributeConstraints],
 	arg_type_list	: [is_list_or_conj_of_attribute_constraints_fget],
@@ -279,7 +279,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: det_fget,
 	arg_list	: [List],
 	arg_type_list	: [is_list_or_conj_of_attribute_constraints_fget],
@@ -298,7 +298,7 @@
 	!.
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_list_or_conj_of_attribute_constraints_fget,
 	implementation	: is_list_or_conj_of_attribute_constraints_fget_Op,
 	message		: 
@@ -372,7 +372,7 @@
 
 
 %------------------------------------------------------------------------------%
-% opium_command(
+% morphine_command(
 % 	name		: fget,
 % 	arg_list	: [Chrono, Call, Depth, Port, Module, Predicate, Arity, 
 % 				ModeNumber, Deter, LiveArgs, GoalPath],
@@ -887,7 +887,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: retry,
 	arg_list	: [],
 	arg_type_list	: [],
Index: source/interactive_queries.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/interactive_queries.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 interactive_queries.op
--- source/interactive_queries.op	1999/12/15 13:40:47	1.2
+++ source/interactive_queries.op	1999/12/15 14:07:38
@@ -7,7 +7,7 @@
 
 %------------------------------------------------------------------------------%
 
-opium_scenario(
+morphine_scenario(
 	name		: interactive_queries,
 	files		: [interactive_queries],
 	scenarios	: [],
@@ -17,13 +17,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: query,
 	arg_list	: [ModuleList],
 	arg_type_list	: [is_list],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: query_Op,
 	parameters	: [],
 	message : 
@@ -143,13 +143,13 @@
 	atom_string(StringQuoted, String2).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: cc_query,
 	arg_list	: [ModuleList],
 	arg_type_list	: [is_list],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: cc_query_Op,
 	parameters	: [],
 	message : 
@@ -161,13 +161,13 @@
 	any_query(ModuleList, cc_query).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: io_query,
 	arg_list	: [ModuleList],
 	arg_type_list	: [is_list],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: io_query_Op,
 	parameters	: [],
 	message : 
@@ -179,13 +179,13 @@
 	any_query(ModuleList, io_query).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: mmc_options,
 	arg_list	: [String],
 	arg_type_list	: [string],
 	abbrev		: _,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: mmc_options_Op,
 	parameters	: [],
 	message : 
Index: source/load_morphine.pl
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/load_morphine.pl,v
retrieving revision 1.1
diff -u -d -u -r1.1 load_morphine.pl
--- source/load_morphine.pl	1999/11/11 04:52:23	1.1
+++ source/load_morphine.pl	1999/12/15 14:07:38
@@ -3,23 +3,23 @@
 % 
 % Author : Erwan Jahier <jahier at irisa.fr>
 %
-% This is the first file to be loaded when Opium-M is run.
-% It is called from the Opium-M script.
+% This is the first file to be loaded when Morphine is run.
+% It is called from the Morphine script.
 
 
 %------------------------------------------------------------------------------%
-% re-definition of opium_answer/2
+% re-definition of morphine_answer/2
 % defined in ~/sepia/workdir/sepia/pl/boot_bips.pl
 
-opium_answer(_, yes).
-opium_answer(_, no) :-
+morphine_answer(_, yes).
+morphine_answer(_, no) :-
         write(toplevel_output, 'no.\n').
-opium_answer(_, no_answer) :-
+morphine_answer(_, no_answer) :-
         write(toplevel_output, 'no (more) solution.\n').
-opium_answer(_, last_yes).
-opium_answer(_, last_answer) :-
+morphine_answer(_, last_yes).
+morphine_answer(_, last_answer) :-
         write(toplevel_output, '\n').
-opium_answer(_, more_answers) :-
+morphine_answer(_, more_answers) :-
         write(toplevel_output, '     More? (;) '),
         flush(toplevel_output),
         tyi(toplevel_input, C),
@@ -32,19 +32,19 @@
 		flush(toplevel_output)
 	).
 
-:- set_error_handler(156, opium_answer/2).
+:- set_error_handler(156, morphine_answer/2).
 
 
 %------------------------------------------------------------------------------%
-% Load Opium-M.
-:- getenv('MERCURY_OPIUM_DIR', Dir),
+% Load Morphine.
+:- getenv('MERCURY_MORPHINE_DIR', Dir),
 	append_strings(Dir, "/source/load_scenario.pl", MakeFile),
 	compile(MakeFile).
 
-% Initialise the Opium-M session
-:- init_opium_session.
+% Initialise the Morphine session
+:- init_morphine_session.
 
-:- set_flag(toplevel_module, 'Opium-M').
+:- set_flag(toplevel_module, 'Morphine').
 
 %------------------------------------------------------------------------------%
 
Index: source/load_morphine_without_banner.pl
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/load_morphine_without_banner.pl,v
retrieving revision 1.1
diff -u -d -u -r1.1 load_morphine_without_banner.pl
--- source/load_morphine_without_banner.pl	1999/11/11 04:52:23	1.1
+++ source/load_morphine_without_banner.pl	1999/12/15 14:07:39
@@ -3,13 +3,13 @@
 % 
 % Author : Erwan Jahier <jahier at irisa.fr>
 %
-:- compile("./load_opium.pl").
+:- compile("./load_morphine.pl").
 
 
 % Remove the Eclipse banner (for non-regression test)
 
-opium_banner(_, _Sepiabanner) :-
+morphine_banner(_, _Sepiabanner) :-
         write(toplevel_output, ""),
         flush(toplevel_output).
 
-:- set_error_handler(164, opium_banner/2).
+:- set_error_handler(164, morphine_banner/2).
Index: source/make_scenario.pl
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/make_scenario.pl,v
retrieving revision 1.2
diff -u -d -u -r1.2 make_scenario.pl
--- source/make_scenario.pl	1999/12/15 13:40:48	1.2
+++ source/make_scenario.pl	1999/12/15 14:07:39
@@ -13,14 +13,14 @@
 % To avoid licensing issues, we did not include them in the Morphine distribution.
 % But since we need to patch them, we copy them and then apply the patches.
  
-patch_opium_files(FileName) :-
+patch_morphine_files(FileName) :-
 	getenv('MERCURY_MORPHINE_DIR', MorphineDir),
 	append_strings(MorphineDir, "/source/", SourceDir),
 	atom_string(FileName, FileNameStr),
 	get_flag(installation_directory, InstallDir),
-	append_strings(InstallDir, "/lib_pd/opium_light/", OPIUM_LIGTH_DIR),
+	append_strings(InstallDir, "/lib_pd/morphine_light/", MORPHINE_LIGTH_DIR),
 	( 
-		exists(OPIUM_LIGTH_DIR),
+		exists(MORPHINE_LIGTH_DIR),
 		!
 	;
 		print("\n*** You need ECLiPSe 4.1 or later, sorry...\n"),
@@ -31,7 +31,7 @@
 	concat_string([FileNameStr, ".op"], File),
 	append_strings("patch.", FileNameStr, PatchFile),
 
-	concat_string(["cp ", OPIUM_LIGTH_DIR, File, " ", SourceDir], Copy),
+	concat_string(["cp ", MORPHINE_LIGTH_DIR, File, " ", SourceDir], Copy),
 	print(Copy),nl,
 	sh(Copy),
 
@@ -40,16 +40,16 @@
 	sh(Patch).
 
 patch_all_files :-
-	patch_opium_files(error),
-	patch_opium_files(autoload),
-	patch_opium_files(help),
-	patch_opium_files(interface),
-	patch_opium_files(make),
-	patch_opium_files(parameter),
-	patch_opium_files(scenario),
-	patch_opium_files(scenario_handler),
-	patch_opium_files(translate),
-	patch_opium_files(types).
+	patch_morphine_files(error),
+	patch_morphine_files(autoload),
+	patch_morphine_files(help),
+	patch_morphine_files(interface),
+	patch_morphine_files(make),
+	patch_morphine_files(parameter),
+	patch_morphine_files(scenario),
+	patch_morphine_files(scenario_handler),
+	patch_morphine_files(translate),
+	patch_morphine_files(types).
 
 
 :- patch_all_files.
Index: source/morphine_kernel.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/morphine_kernel.op,v
retrieving revision 1.1
diff -u -d -u -r1.1 morphine_kernel.op
--- source/morphine_kernel.op	1999/11/11 04:52:24	1.1
+++ source/morphine_kernel.op	1999/12/15 14:07:39
@@ -4,9 +4,9 @@
 % Author : Erwan Jahier <jahier at irisa.fr>
 %
 
-opium_scenario(
-	name		: opium_m_kernel,
-	files		: [	opium_m_kernel,
+morphine_scenario(
+	name		: morphine_kernel,
+	files		: [	morphine_kernel,
 				forward_move,
 				current_slots,
 				current_arg,
@@ -17,7 +17,7 @@
 				browse],
 	scenarios	: [],
 	message		:
-"Scenario opium_m_kernel contains all the basic mechanisms of Opium-M \
+"Scenario morphine_kernel contains all the basic mechanisms of Morphine \
 which are needed to debug Mercury programs. \n\
 "
 	).
Index: source/patch.help
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.help,v
retrieving revision 1.2
diff -u -d -u -r1.2 patch.help
--- source/patch.help	1999/12/15 13:40:49	1.2
+++ source/patch.help	1999/12/15 14:11:41
@@ -133,13 +133,13 @@
 -
 -
 +%------------------------------------------------------------------------------%
-+opium_command(
++morphine_command(
 +	name		: apropos,
 +	arg_list	: [Name],
 +	arg_type_list	: [atom],
 +	abbrev		: a,
 +	interface	: button,
-+	command_type	: opium,
++	command_type	: morphine,
 +	implementation	: apropos_Op,
 +	parameters	: [],
 +	message		:
@@ -151,7 +151,7 @@
 +    manual\n\
 +    latex_manual\n\
 +    window_command\n\
-+    opium_command_in_module\n\
++    morphine_command_in_module\n\
 +    print_man\n\
 +" ).
 +
Index: source/patch.interface
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.interface,v
retrieving revision 1.2
diff -u -d -u -r1.2 patch.interface
--- source/patch.interface	1999/12/15 13:40:49	1.2
+++ source/patch.interface	1999/12/15 14:55:34
@@ -258,7 +258,7 @@
 +% /*
 +%  *	INTERFACE-STATUS/1
 +%  */
-+% opium_procedure(
++% morphine_procedure(
 +% 	name		: interface_status,
 +% 	arg_list	: [Status],
 +% 	implementation	: interface_status_Op,
@@ -278,13 +278,13 @@
 +% /*
 +%  *	PCE-INTERFACE/1
 +%  */
-+% opium_command(
++% morphine_command(
 +% 	name		: pce_interface,
 +% 	arg_list	: [WindowSystem],
 +% 	arg_type_list	: [is_member([sunview, xview])],
 +% 	abbrev		: _,
 +% 	interface	: hidden,
-+% 	command_type	: opium,
++% 	command_type	: morphine,
 +% 	implementation	: pce_interface_Op,
 +% 	parameters	: [],
 +% 	message		:
@@ -293,13 +293,13 @@
 +% SunView and XView.  It provides a control panel, and output views \n\
 +% complementing the usual tty window used by default. The control panel \n\
 +% contains a menu with all the loaded scenarios; a menu with all the \n\
-+% Opium module; buttons and menus giving access to the objects of the \n\
-+% current scenario. The Opium commands and the trace lines are still \n\
++% Morphine module; buttons and menus giving access to the objects of the \n\
++% current scenario. The Morphine commands and the trace lines are still \n\
 +% displayed in the tty window, but help information and source \n\
 +% information are directed to specialized output views. NOTE that to \n\
 +% select items in menus you have to use the right-hand button of the \n\
 +% mouse.  Note also that if you write extensions which may run either on \n\
-+% tty and pce interface, to output results you should use the opium_write \n\
++% tty and pce interface, to output results you should use the morphine_write \n\
 +% primitives."
 +% 	).
 +
@@ -321,7 +321,7 @@
 +% 	pce_quiet, 				% no warning, nothing written on pce.log
 +% 	setval(interface_status, pce),		% has to be set before make_interface_list
 +% 	make_interface_list(O), 
-+% 	init_opium_interface, 
++% 	init_morphine_interface, 
 +% 	open_interface_sepia_communication,
 +% 	wui_error_handlers.
 +% reset_pce_interface(WindowSystem) :- 
@@ -333,18 +333,18 @@
 +% /*
 +%  *	TTY-INTERFACE/0
 +%  */
-+% opium_command(
++% morphine_command(
 +% 	name		: tty_interface,
 +% 	arg_list	: [],
 +% 	arg_type_list	: [],
 +% 	abbrev		: _,
 +% 	interface	: button,
-+% 	command_type	: opium,
++% 	command_type	: morphine,
 +% 	implementation	: tty_interface_Op,
 +% 	parameters	: [],
 +% 	message		:
-+%  "Command which sets (or resets) a tty like interface for Opium. In \n\
-+% the tty interface input and output related to the Opium process are \n\
++%  "Command which sets (or resets) a tty like interface for Morphine. In \n\
++% the tty interface input and output related to the Morphine process are \n\
 +% done via a tty-like window. Input is only entered with the keyboard."
 +% 	).
 +
@@ -373,9 +373,9 @@
 +% /*
 +%  *
 +%  */
-+% update_opium_module_menu(X):-
++% update_morphine_module_menu(X):-
 +% 	(  interface_status(pce)
-+% 	-> pce_update_opium_module_menu(X)
++% 	-> pce_update_morphine_module_menu(X)
 +% 	;  true).
 +
 +% /* 
@@ -385,16 +385,16 @@
 +
 +
 +% /* 
-+%  * This should open the opium tty window in any case ?? XXX
++%  * This should open the morphine tty window in any case ?? XXX
 +%  */
 +
-+% opium_command(
++% morphine_command(
 +% 	name		: show_interface,
 +% 	arg_list	: [OnOff],
 +% 	arg_type_list	: [is_member([on, off])],
 +% 	abbrev		: show_int,
 +% 	interface	: button,
-+% 	command_type	: opium,
++% 	command_type	: morphine,
 +% 	implementation	: show_interface_Op,
 +% 	parameters	: [],
 +% 	message		:
@@ -432,7 +432,7 @@
 +% /*
 +%  *   EXECUTE_DEMO_GOAL
 +%  */
-+% opium_procedure(
++% morphine_procedure(
 +% 	name		: execute_demo_goal,
 +% 	arg_list	: [Goal],
 +% 	implementation	: execute_demo_goal_Op,
@@ -447,7 +447,7 @@
 +%  */
 +% execute_demo_goal_Op(Goal) :-
 +% 	(  interface_status(tty)
-+% 	-> opium_nl(help),
++% 	-> morphine_nl(help),
 +% 	   get_flag(toplevel_module, Module), 
 +% 	   call(Goal, Module)
 +% 	;  wui_execute_demo_goal(Goal)
@@ -458,7 +458,7 @@
 +% /*
 +%  *   INIT-DEMO-SERIES/0
 +%  */
-+% opium_procedure(
++% morphine_procedure(
 +% 	name		: init_demo_series,
 +% 	arg_list	: [],
 +% 	implementation	: init_demo_series_Op,
@@ -473,22 +473,22 @@
 +% init_demo_series_Op :-
 +% 	(traced_execution_running -> abort_trace ; true),
 +% 	system(clear),				% for trace and control window
-+% 	opium_clear(source, pce),
-+% 	opium_clear(help, pce).
++% 	morphine_clear(source, pce),
++% 	morphine_clear(help, pce).
 +
 +
 +
 +% /*
 +%  *	READ-INPUT
 +%  */
-+% opium_procedure(
++% morphine_procedure(
 +% 	name		: read_input,
 +% 	arg_list	: [Input],
 +% 	implementation	: read_input_Op,
 +% 	parameters	: [],
 +% 	message		:
 +% "Procedure which reads an input from within the current input stream \n\
-+% of opium."
++% of morphine."
 +% 	).
 +
 +% /*  read in both cases from the input stream 
@@ -508,9 +508,9 @@
 -opium_write_do(View, X, pce) :-
 -	!,
 -	pce_opium_write(View, X).
-+% opium_write_do(View, X, pce) :-
++% morphine_write_do(View, X, pce) :-
 +% 	!,
-+% 	pce_opium_write(View, X).
++% 	pce_morphine_write(View, X).
  
  
  /*
@@ -520,8 +520,8 @@
  	!.
 -opium_clear_do(View, pce) :-
 -	pce_opium_clear(View).
-+% opium_clear_do(View, pce) :-
-+% 	pce_opium_clear(View).
++% morphine_clear_do(View, pce) :-
++% 	pce_morphine_clear(View).
  
  
  
@@ -532,9 +532,9 @@
 -opium_nl_do(View,pce) :-
 -	!,
 -	pce_opium_nl(View).
-+% opium_nl_do(View,pce) :-
++% morphine_nl_do(View,pce) :-
 +% 	!,
-+% 	pce_opium_nl(View).
++% 	pce_morphine_nl(View).
  
  
  /*
Index: source/patch.make
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.make,v
retrieving revision 1.2
diff -u -d -u -r1.2 patch.make
--- source/patch.make	1999/12/15 13:40:49	1.2
+++ source/patch.make	1999/12/15 14:55:35
@@ -149,16 +149,16 @@
 -	get_opium_file("opium_module", File),
 -	compile(File, Mod).
 +
-+% [R1] Removed because update_opium_module_menu is not available in Morphine
-+% provide_opium_module(Mod) :-
-+% 	update_opium_module_menu(Mod),		% for wui interface
-+% 	printf(output, "creating opium module %w\n", [Mod]),
++% [R1] Removed because update_morphine_module_menu is not available in Morphine
++% provide_morphine_module(Mod) :-
++% 	update_morphine_module_menu(Mod),		% for wui interface
++% 	printf(output, "creating morphine module %w\n", [Mod]),
 +% 	(current_module(Mod) ->
 +% 		true
 +% 	;
 +% 		create_module(Mod)
 +% 	),
-+% 	get_opium_file("opium_module", File),
++% 	get_morphine_file("morphine_module", File),
 +% 	compile(File, Mod).
  
  /*
Index: source/patch.scenario
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.scenario,v
retrieving revision 1.2
diff -u -d -u -r1.2 patch.scenario
--- source/patch.scenario	1999/12/15 13:40:49	1.2
+++ source/patch.scenario	1999/12/15 14:55:35
@@ -8,7 +8,7 @@
  
 -opium_module_Op(opium_kernel).
 -	/* to get opium_kernel as first module always (manual) */
-+opium_module_Op(morphine).
++morphine_module_Op(morphine).
 +	/* to get morphine as first module always (manual) */
  opium_module_Op(M) :-
  	current_module(M),
Index: source/patch.scenario_handler
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.scenario_handler,v
retrieving revision 1.2
diff -u -d -u -r1.2 patch.scenario_handler
--- source/patch.scenario_handler	1999/12/15 13:40:49	1.2
+++ source/patch.scenario_handler	1999/12/15 14:55:35
@@ -34,7 +34,7 @@
 +% /*
 +%  *	DEF-MODULE
 +%  */
-+% opium_primitive(
++% morphine_primitive(
 +% 	name		: def_module,
 +% 	arg_list	: [Pred, CallModule, DefModule],
 +% 	arg_type_list	: [is_pred, is_atom, is_atom_or_var],
@@ -88,7 +88,7 @@
 +% /*
 +%  *	GET-PROLOG-FILENAME
 +%  */
-+% opium_primitive(
++% morphine_primitive(
 +% 	name		: get_prolog_filename,
 +% 	arg_list	: [File, FileName],
 +% 	arg_type_list	: [atom, var],
@@ -110,7 +110,7 @@
  	).
  
 -opium_scenario_in_module_Op((
-+opium_scenario_in_module_Op(S, Module)
++morphine_scenario_in_module_Op(S, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	S = (
@@ -124,7 +124,7 @@
 -:-
 -	opium_module(Module),
 +		),
-+        opium_module(Module),
++        morphine_module(Module),
  	call(opium_scenario(
  			name		: Name,
  			files		: Files,
@@ -143,7 +143,7 @@
  	).
  
 -opium_command_in_module_Op((
-+opium_command_in_module_Op(C, Module)
++morphine_command_in_module_Op(C, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	C = (
@@ -175,7 +175,7 @@
  	).
  
 -opium_primitive_in_module_Op((
-+opium_primitive_in_module_Op(P, Module)
++morphine_primitive_in_module_Op(P, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	P = (
@@ -207,7 +207,7 @@
  	).
  
 -opium_procedure_in_module_Op((
-+opium_procedure_in_module_Op(Proc, Module)
++morphine_procedure_in_module_Op(Proc, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	Proc = (
@@ -238,7 +238,7 @@
  	).
  
 -opium_parameter_in_module_Op((
-+opium_parameter_in_module_Op(P, Module) 
++morphine_parameter_in_module_Op(P, Module) 
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	P = (
@@ -270,7 +270,7 @@
  	).
  
 -opium_type_in_module_Op((
-+opium_type_in_module_Op(Type, Module)
++morphine_type_in_module_Op(Type, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	Type = (
@@ -298,7 +298,7 @@
  	).
  
 -opium_demo_in_module_Op((
-+opium_demo_in_module_Op(Demo, Module)
++morphine_demo_in_module_Op(Demo, Module)
 +:-
 +	(global_op(400,xfy,:) ; global_op(600,xfy,:),fail),
 +	Demo = (
@@ -329,17 +329,17 @@
  
 +
 +/*
-+ *	IS-OPIUM-SCENARIO
++ *	IS-MORPHINE-SCENARIO
 + */
-+opium_type(
-+	name		: is_opium_scenario_or_var,
-+	implementation	: is_opium_scenario_or_var_Op,
++morphine_type(
++	name		: is_morphine_scenario_or_var,
++	implementation	: is_morphine_scenario_or_var_Op,
 +	message		: 
-+"Type which succeeds for an active opium scenario or a variable."
++"Type which succeeds for an active morphine scenario or a variable."
 +	).
 +
-+is_opium_scenario_or_var_Op(S) :-
-+	(var(S) ; is_opium_scenario_Op(S)).
++is_morphine_scenario_or_var_Op(S) :-
++	(var(S) ; is_morphine_scenario_Op(S)).
  
  /*
   *	IS-OPIUM-PARAMETER
Index: source/patch.translate
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.translate,v
retrieving revision 1.1
diff -u -d -u -r1.1 patch.translate
--- source/patch.translate	1999/11/11 04:52:26	1.1
+++ source/patch.translate	1999/12/15 14:11:42
@@ -60,7 +60,7 @@
  	!,
  	concat_atom([Name, '_np'], Name_np),
 -	build_tracing_command(Load, Name, Name_np),
-+	opium_assert(Load, (Name :- Name_np, print_event)),
++	morphine_assert(Load, (Name :- Name_np, print_event)),
  	build_related_primitives(trace, Load, Name, Name_np, Impl, [], [], Abbrev, Scenario),
  	build_autoload_info(Autoload, Name, Name, Scenario),
  	build_abbrev(Load, Autoload, Name, [], Abbrev, Scenario).
@@ -69,7 +69,7 @@
  	concat_atom([Name, '_np'], Name_np),
  	name_variables(ArgList, ArgNameList),
 -	build_tracing_command_with_arguments(Load, Cmd1, ArgList, ArgNameList, TypeList, Name_np),
-+	opium_assert(Load,
++	morphine_assert(Load,
 +		(Cmd1 :- 
 +			check_arg_type(ArgList, ArgNameList, TypeList, NewList),
 +			Cmd2 =.. [Name_np | NewList],
Index: source/patch.types
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/patch.types,v
retrieving revision 1.1
diff -u -d -u -r1.1 patch.types
--- source/patch.types	1999/11/11 04:52:26	1.1
+++ source/patch.types	1999/12/15 14:11:42
@@ -9,7 +9,7 @@
 +/*
 + *	IS-STRING-OR-VAR
 + */
-+opium_type(
++morphine_type(
 +	name		: is_string_or_var,
 +	implementation	: is_string_or_var_Op,
 +	message		:
@@ -22,7 +22,7 @@
 +/*
 + *	IS-STRING-OR-INTEGER-OR-VAR
 + */
-+opium_type(
++morphine_type(
 +	name		: is_string_or_integer_or_var,
 +	implementation	: is_string_or_integer_or_var_Op,
 +	message		:
@@ -37,7 +37,7 @@
 +/*
 + *	IS-STRING-OR-INTEGER
 + */
-+opium_type(
++morphine_type(
 +	name		: is_string_or_integer,
 +	implementation	: is_string_or_integer_Op,
 +	message		:
Index: source/source.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/source.op,v
retrieving revision 1.2
diff -u -d -u -r1.2 source.op
--- source/source.op	1999/12/15 13:40:49	1.2
+++ source/source.op	1999/12/15 14:07:41
@@ -6,7 +6,7 @@
 % This file implements the source scenario.
 
 
-opium_scenario(
+morphine_scenario(
 	name		: source,
 	files		: [source],
 	scenarios	: [],
@@ -18,14 +18,14 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing,
 	arg_list	: [Module, ProcOrType, Listing],
 	arg_type_list	: [is_atom_or_string, is_mercury_proc_or_type, 
 				is_list_or_var],
 	abbrev		: ls,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_Op,
 	parameters	: [],
 	message		:
@@ -49,13 +49,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing,
 	arg_list	: [Module, PredOrFuncOrType],
 	arg_type_list	: [is_atom_or_string, is_mercury_proc_or_type],
 	abbrev		: ls,
 	interface	: button,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_Op,
 	parameters	: [],
 	message		:
@@ -248,14 +248,14 @@
 	).
 	
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing_hlds,
 	arg_list	: [Module, PredOrFuncOrType, Listing],
 	arg_type_list	: [is_atom_or_string, is_mercury_proc_or_type, 
 				is_list_or_var],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_hlds_Op,
 	parameters	: [],
 	message		:
@@ -268,13 +268,13 @@
 	listing2(Module2, Name, Listing, list, hlds).
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing_hlds,
 	arg_list	: [Module, PredOrFuncOrType],
 	arg_type_list	: [is_atom_or_string, is_mercury_proc_or_type],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_hlds_Op,
 	parameters	: [],
 	message		:
@@ -293,13 +293,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing_current_procedure,
 	arg_list	: [],
 	arg_type_list	: [],
 	abbrev		: lcp,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_current_procedure_Op,
 	parameters	: [],
 	message		:
@@ -318,13 +318,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: listing_current_procedure,
 	arg_list	: [Path],
 	arg_type_list	: [atom],
 	abbrev		: lcp,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: listing_current_procedure_Op,
 	parameters	: [],
 	message		:
@@ -341,7 +341,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_mercury_proc_or_type,
 	implementation	: is_mercury_proc_or_type_Op,
 	message		:
@@ -414,7 +414,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_type(
+morphine_type(
 	name		: is_atom_or_string,
 	implementation	: is_atom_or_string_Op,
 	message		: 
Index: source/step_by_step.op
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/step_by_step.op,v
retrieving revision 1.1
diff -u -d -u -r1.1 step_by_step.op
--- source/step_by_step.op	1999/11/11 04:52:27	1.1
+++ source/step_by_step.op	1999/12/15 14:07:45
@@ -4,7 +4,7 @@
 % Author : Erwan Jahier <jahier at irisa.fr>
 %
 
-opium_scenario(
+morphine_scenario(
 	name		: step_by_step,
 	files		: [step_by_step],
 	scenarios	: [],
@@ -17,7 +17,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: next,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -29,12 +29,12 @@
 	message		:
 "Command which moves forward to the next trace event according to the \
 ``traced_ports'' parameter. This is the same command as step/0 (``next'' is \
-the name used in the Prolog version of Opium, ``step'' is the name used in the \
+the name used in the Prolog version of Morphine, ``step'' is the name used in the \
 internal Mercury debugger)."
 	).
  
 
-opium_command(
+morphine_command(
 	name		: step,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -53,7 +53,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: det_next,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -66,7 +66,7 @@
 "Command which does the same thing as step/0, but it is not backtrackable."
 	).
 
-opium_command(
+morphine_command(
 	name		: det_step,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -85,13 +85,13 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: next,
 	arg_list	: [N],
 	arg_type_list	: [integer],
 	abbrev		: n,
 	interface	: menu,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: next_Op,
 	parameters	: [traced_ports],
 	message		:
@@ -99,13 +99,13 @@
 parameter."
 	).
 
-opium_command(
+morphine_command(
 	name		: step,
 	arg_list	: [N],
 	arg_type_list	: [integer],
 	abbrev		: _,
 	interface	: hidden,
-	command_type	: opium,
+	command_type	: morphine,
 	implementation	: next_Op,
 	parameters	: [traced_ports],
 	message		:
@@ -124,7 +124,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_command(
+morphine_command(
 	name		: finish,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -138,11 +138,11 @@
 (exit or fail) of the goal to which the current event refers. If the current \
 port is already final, it acts like a step/0.\n\
 It is the same command as skip/0 (``skip'' is the name used in the Prolog \
-version of Opium, ``finish'' is the name used in the internal Mercury \
+version of Morphine, ``finish'' is the name used in the internal Mercury \
 debugger)."
 ).
 
-opium_command(
+morphine_command(
 	name		: skip,
 	arg_list	: [],
 	arg_type_list	: [],
@@ -173,7 +173,7 @@
 
 
 %------------------------------------------------------------------------------%
-opium_parameter(
+morphine_parameter(
 	name		: traced_ports,
 	arg_list	: [PortList],
 	arg_type_list	: [is_list_of_ports],
Index: source/util.pl
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/morphine/source/util.pl,v
retrieving revision 1.2
diff -u -d -u -r1.2 util.pl
--- source/util.pl	1999/12/15 13:40:49	1.2
+++ source/util.pl	1999/12/15 14:16:06
@@ -10,7 +10,7 @@
 % to avoid seeing the singleton variable checkings
 :- set_flag(variable_names, on).
 
-:- import set_opium_level/1 from sepia_kernel. 
+:- import set_morphine_level/1 from sepia_kernel. 
 
 :- get_flag(prolog_suffix, S), set_flag(prolog_suffix, [".op" | S]).
 
@@ -22,28 +22,28 @@
 :- op(500, fx, >).
 :- op(500, fx, >=).
 
-:- dynamic opium_command/10.
-:- dynamic opium_parameter/8.
-:- dynamic opium_primitive/7.
-:- dynamic opium_procedure/6.
-:- dynamic opium_scenario/6.
-:- dynamic opium_type/4.
-:- dynamic opium_demo/5.
+:- dynamic morphine_command/10.
+:- dynamic morphine_parameter/8.
+:- dynamic morphine_primitive/7.
+:- dynamic morphine_procedure/6.
+:- dynamic morphine_scenario/6.
+:- dynamic morphine_type/4.
+:- dynamic morphine_demo/5.
 :- dynamic autoload_command/2.
 :- dynamic autoload_scenario/4.
 
-:- dynamic opium_command/9.
-:- dynamic opium_parameter/6.
-:- dynamic opium_primitive/6.
-:- dynamic opium_procedure/5.
-:- dynamic opium_scenario/4.
-:- dynamic opium_type/3.
-:- dynamic opium_demo/3.
+:- dynamic morphine_command/9.
+:- dynamic morphine_parameter/6.
+:- dynamic morphine_primitive/6.
+:- dynamic morphine_procedure/5.
+:- dynamic morphine_scenario/4.
+:- dynamic morphine_type/3.
+:- dynamic morphine_demo/3.
 :- dynamic autoload_command/2.
 :- dynamic autoload_scenario/4.
 
 
-opium_module.
+morphine_module.
 
 
 /* mandatory for bootstrapping */
@@ -64,7 +64,7 @@
  */
 
 make(S, MOD, OL, SD, OD) :- make_scenario_Op(S, MOD, OL, SD, OD).
-opium_scenario_in_module(S, M) :- opium_scenario_in_module_Op(S, M).
+morphine_scenario_in_module(S, M) :- morphine_scenario_in_module_Op(S, M).
 set_default_parameters_in_module(S, Mod) :- set_default_parameters_in_module_Op(S, Mod).
 check_arg_type(X, Y, Z, T, M) :- check_arg_type_Op(X, Y, Z, T, M).
 check_arg(X, Y, Z, T, M) :- check_arg_Op(X, Y, Z, T, M).
@@ -75,16 +75,16 @@
 is_list_of_atoms_or_empty_list(X) :- is_list_of_atoms_or_empty_list_Op(X).
 is_list_of_vars_or_empty_list(X) :- is_list_of_vars_or_empty_list_Op(X).
 is_list_of_ports(X) :- is_list_of_ports_Op(X).
-is_opium_declaration(P/A) :- is_opium_declaration_Op(P/A).
-is_opium_module(M) :- is_opium_module_Op(M).
-opium_module(M) :- opium_module_Op(M).
+is_morphine_declaration(P/A) :- is_morphine_declaration_Op(P/A).
+is_morphine_module(M) :- is_morphine_module_Op(M).
+morphine_module(M) :- morphine_module_Op(M).
 
 % interface_status(X) :- interface_status_Op(X).
 
-opium_write(V, M) :- opium_write_Op(V, M).
-opium_printf(V, F, A) :- opium_printf_Op(V, F, A).
-opium_printf(V, F, A, S) :- opium_printf_Op(V, F, A, S).
-opium_nl(V) :- opium_nl_Op(V).
+morphine_write(V, M) :- morphine_write_Op(V, M).
+morphine_printf(V, F, A) :- morphine_printf_Op(V, F, A).
+morphine_printf(V, F, A, S) :- morphine_printf_Op(V, F, A, S).
+morphine_nl(V) :- morphine_nl_Op(V).
 
 
 get_morphine_file("morphine_module", File) :-
@@ -116,7 +116,7 @@
 	atom_string(VN, S),
 	close(Stream).
 
-opium_level(0).
+morphine_level(0).
 
 build_obj_dir(OD) :-
 	getcwd(Cwd),

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list