[m-dev.] diff: MCORBA web page.

Peter Ross petdr at cs.mu.OZ.AU
Thu Sep 10 00:42:39 AEST 1998


On 09-Sep-1998, Tyson Dowd <trd at cs.mu.OZ.AU> wrote:
> 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
>  
You don't need the mcorba.inc as that dependency is automatically
generated.

>  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>
Don't think you need the <p> here as you automatically get space after a
header.

> +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."
> +)
> +
> +);
> +
> +?>
> +
> +
> 
You should also add a news item to the main newsfile.

Pete.



More information about the developers mailing list