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