diff: MCORBA web page.
Tyson Dowd
trd at cs.mu.OZ.AU
Wed Sep 9 18:02:01 AEST 1998
Hi,
Peter, here's a change for you to review.
===================================================================
Estimated hours taken: 2
Add new MCORBA web page. There are no links to it at the moment.
Clean up a few bits an pieces.
Makefile:
Makefile.common:
Fix a few copyrights.
mailing-lists/mercury-users/list.php3:
Fix a title.
include/template.inc:
Put the title in the page.
mcorba.php3:
include/mcorba.inc:
include/mcorba_news.inc:
news/mcorba_newsdb.inc:
The new MCORBA web page.
Index: Makefile
===================================================================
RCS file: /home/mercury1/repository/w3/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- Makefile 1998/09/07 09:09:11 1.5
+++ Makefile 1998/09/09 06:54:48
@@ -1,10 +1,11 @@
#-----------------------------------------------------------------------------#
-# Copyright (C) 1995 University of Melbourne.
+# Copyright (C) 1998 University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
HTML= index.html \
+ mcorba.html \
news.html \
information.html \
download.html \
@@ -19,6 +20,7 @@
index.html: latest_news.inc newsdb.inc
news.html: latest_news.inc newsdb.inc
+mcorba.html: mcorba.inc mcorba_newsdb.inc
install: local_install
Index: Makefile.common
===================================================================
RCS file: /home/mercury1/repository/w3/Makefile.common,v
retrieving revision 1.5
diff -u -r1.5 Makefile.common
--- Makefile.common 1998/09/07 09:09:13 1.5
+++ Makefile.common 1998/09/09 06:44:53
@@ -1,5 +1,5 @@
#-----------------------------------------------------------------------------#
-# Copyright (C) 1995 University of Melbourne.
+# Copyright (C) 1998 University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
Index: mcorba.php3
===================================================================
RCS file: mcorba.php3
diff -N mcorba.php3
--- /dev/null Wed May 28 10:49:58 1997
+++ mcorba.php3 Wed Sep 9 16:56:17 1998
@@ -0,0 +1,9 @@
+<HTML>
+<?
+ $title="MCORBA";
+ $dir=".";
+ $root=".";
+ $include="mcorba.inc";
+ include "./include/template.inc"
+?>
+</HTML>
Index: include/mcorba.inc
===================================================================
RCS file: mcorba.inc
diff -N mcorba.inc
--- /dev/null Wed May 28 10:49:58 1997
+++ mcorba.inc Wed Sep 9 17:52:07 1998
@@ -0,0 +1,77 @@
+
+MCORBA is a CORBA binding for Mercury. It allows you to use CORBA
+objects from Mercury, and allows you to implement CORBA objects in
+Mercury. This means you can write distributed systems in Mercury,
+or use Mercury to implement part of a component-based system.
+
+<h3>Latest MCORBA News</h3>
+
+<?
+ include "$root/include/mcorba_news.inc";
+?>
+
+<h3> Download MCORBA </h3>
+
+MCORBA is very much a work-in-progress, however we expect to have
+enough written so that you can start using it to develop applications.
+
+We are still cleaning up the MCORBA code to prepare for distribution.
+We expect to make a preliminary release very soon.
+MCORBA will be distributed under the GPL for the translator,
+and LGPL for the runtime library.
+<p>
+You will need an of omniORB2, which you can freely download
+from the <a href="http://www.orl.co.uk/omniORB/omniORB.html">
+omniORB</a> web site.
+
+<h3> Why use MCORBA? </h3>
+
+MCORBA allows Mercury programs to take advantage of existing components,
+acting as an interface between the Mercury system and an object.
+This means you can use exisiting components of software as part of
+a system, and Mercury will be able to easily communicate with them.
+<p>
+It also means you can implement (or re-implement) components
+of a system in Mercury, and not need to worry about the concerns
+of the rest of the project.
+
+<h3> How does it work? </h3>
+<p>
+CORBA objects can communicate with each other even if each object
+is implemented in different languages and running on different machines.
+This allows distributed systems to be created,
+<p>
+To the programmer, communicating with a CORBA object is made as
+easy as possible, given the programming language that is being used.
+For Mercury, it is as simple as calling a method of a type class.
+<p>
+Here is some Mercury code that reads input strings and
+sends it to a CORBA object.
+<pre>
+:- pred sender_loop(T, io:state, io:state) <= chat(T).
+:- mode sender_loop(di, di, uo) is det.
+sender_loop(Chat0) -->
+ io:read_line(Res),
+ (
+ { Res = ok(CharList) },
+ { string:from_char_list(CharList, String) },
+ sendmessage(Chat0, Chat, String),
+ sender_loop(Chat)
+ ;
+ { Res = error(_Error) },
+ io:write_string("Some kind of error occurred\n")
+ ;
+ { Res = eof }
+ ).
+</pre>
+
+The type classes and their methods are generated from an Interface
+Description Language (IDL). This language contains descriptions of the
+data types that will be used in the system, and the interfaces to
+various parts of the system. The implementation is left unspecified.
+<p>
+The IDL is transformed into a language specific binding, which allows
+each programming language to access things in a natural way for that
+language. For C++, IDL is transformed into classes with methods. For
+Mercury IDL is transformed into we use type classes.
+
Index: include/mcorba_news.inc
===================================================================
RCS file: mcorba_news.inc
diff -N mcorba_news.inc
--- /dev/null Wed May 28 10:49:58 1997
+++ mcorba_news.inc Wed Sep 9 16:53:41 1998
@@ -0,0 +1,11 @@
+<table>
+<?
+
+include "$root/news/mcorba_newsdb.inc";
+
+while ( (list($date, $newsitem) = each($mcorba_newsdb))) {
+ newsitem($date, $newsitem);
+}
+
+?>
+</table>
Index: include/template.inc
===================================================================
RCS file: /home/mercury1/repository/w3/include/template.inc,v
retrieving revision 1.4
diff -u -r1.4 template.inc
--- template.inc 1998/09/04 06:52:54 1.4
+++ template.inc 1998/09/09 06:58:09
@@ -5,7 +5,9 @@
<TABLE border="0" cellpadding="5" cellspacing="0" width="100%">
<TD>
- <CENTER><H1>The Mercury Project</H1></CENTER>
+ <CENTER><H1>The Mercury Project<br>
+ <? echo $title ?>
+ </H1></CENTER>
</TD>
<TD width="10%">
Index: mailing-lists/mercury-users/list.php3
===================================================================
RCS file: /home/mercury1/repository/w3/mailing-lists/mercury-users/list.php3,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 list.php3
--- list.php3 1998/09/01 02:41:03 1.1.1.1
+++ list.php3 1998/09/09 07:56:28
@@ -1,6 +1,6 @@
<HTML>
<?
- $title="Contact";
+ $title="Mercury Users Mailing List";
$dir="mailing-lists/mercury-users/";
$root="../..";
$include="list.inc";
Index: news/mcorba_newsdb.inc
===================================================================
RCS file: mcorba_newsdb.inc
diff -N mcorba_newsdb.inc
--- /dev/null Wed May 28 10:49:58 1997
+++ mcorba_newsdb.inc Wed Sep 9 16:54:01 1998
@@ -0,0 +1,28 @@
+<?
+
+/*
+** This is the MCORBA news database.
+**
+** Add new items at the top in chronological order.
+**
+** Each item consists of
+** date =>
+** array( title,
+** description
+** ),
+** Make sure you put a comma between each item, and an arrow
+** between the date and the news.
+*/
+
+$mcorba_newsdb = array(
+
+"9 Sep 1998" => array("MCORBA web page added.",
+
+"We've just added this page to the Mercury web pages."
+)
+
+);
+
+?>
+
+
--
Tyson Dowd # There isn't any reason why Linux can't be
# implemented as an enterprise computing solution.
trd at cs.mu.oz.au # Find out what you've been missing while you've
http://www.cs.mu.oz.au/~trd # been rebooting Windows NT. -- InfoWorld, 1998.
More information about the developers
mailing list