[mercury-users] Is there a sockets library ?

Michel Vanden Bossche mvb at miscrit.be
Tue Feb 2 20:57:58 AEDT 1999


Tomas By writes:

> Thanks for the info. Very interesting. Can you tell us anything about
> your progress?

Certainly. There are 5 main workpackages in ARGo.

WP 1 - The short term objective is to have a "clean" NT version, compiling
to VC (see why hereunder), easely installable (with InstallShield) and
avoiding CygWin. Significant progress has been done. We have a clean
compile with VC and the performance is not bad (see attached GIF): 

	VC/gcc-asm_fast is ~ 1.3
	VC/gcc-none is ~ 0.9

The next step, more ambitious, is to have a good integration with COM
(this is why VC is important). The first objective (under development) is
COM client. The much more ambitious objective, is to have a COM server,
because the ultimate goal is to use Mercury in the mid-tier, for the next
generation mission-critical applications (leveraging the MS plumbing, i.e.
COM/DCOM, MTS, ...).

WP 2 - We have the chance of having Mireille Ducasse in our team. As the
mother of OPIUM, her group is in charge of integrating the OPIUM trace
analyser into Mercury. This has been done in close collaboration with
Zoltan's group to instrument the Mercury compiler. Mireille has a running
system, but integration work is still needed.

WP 3 - We also have the chance of having in our team, Baudouin Le Charlier
and Yves Deville (Logic Programming: Systematic Program Development).
Their first objective was to adapt Deville's methodology for Prolog to
Mercury (Baudouin and Yves worked on FOLON, a set of methodological tools
for Prolog). The idea is to have an abstract Mercury, with a clean
declarative semantics (typed), for the logic specification (but now high
order). The next step is the derivation of a logic/functional Mercury
program by derivation (essentially adding directionality and multiplicity
declarations). Baudouin and his team have already published a paper.

WP 4 - Two substantial applications: one developed by Dassault (now
Thomson) related to Model based Diagnostic (application that used to be
specified in Prolog, but ported to C for production) and another by
Mission Critical (tarification and billing for hospital, where the complex
social security regulation is represented as a rule-based system). The
idea is to feed back requirements to the methodological team and have
some. This is work in progress. As a matter of fact, we (MC) have several
Mecury applications in production (we use Mercury since about 2 years),
one of them being a "community web server". In general, our feeling is
that the development is a little bit longer than with modern RAD tools,
but when the program is compiled, there are NO bugs (excepted logical one,
related to the domain and the intention of the programmer). Moreover,
maintenance is considerably facilitated, because the program is nearly a
specification. This is for us one of the key feature (with classical
paradigms, development is around 20% of the effort, and maintenance is
80%; on these 80%, 40% is corrective maintenance and 40% adaptative
maintenance: the pay back is thus huge).

WP 5 - Longer term enhancements. This task is being done by KUL (the group
of Maurice Bruynooghe) and by Melbourne. First results are in the domain
of liveness analysis (the long term objective is compile-time GC) and
program specialisation. This is of course long term, so not in a release
coming soon.

Hope it helps.

Regards
Michel
Mission Critical
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MercuryVCvsGCC.gif
Type: image/gif
Size: 10383 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/users/attachments/19990202/914bcf57/attachment.gif>


More information about the users mailing list