[mercury-users] Questions

Robert Ernst Johann JESCHOFNIK rejj at students.cs.mu.oz.au
Fri Mar 24 10:55:51 AEDT 2000

On Thu, 23 Mar 2000, Gustavo A. Ospina wrote:

> 1. What kind of problems, in your opinion, are more suitable to be solved 
> with Mercury (wrt Prolog and others Functional and Logic Programming 
> languages)?

There may be a bit of bias here, but I feel that Mercury lives up to it's
claim of being a useful, general purpose language. If I could, I'd use
Mercury for just about everything I do.. just that people keep saying
"make me something in C that does <X>".

I would chose Mercury over Prolog any day if a logic programming language
was required.

> 2. Please describe what tools you use for developing software systems in 
> Mercury, for each step below:
>    - Design
>    - Specification

As I am not a software engineer working out in industry, I'm not making
very large programs (although I guess I do work on one, that being the
compiler itself).
For these two phases I get away with just my brain, a whiteboard, and some

>    - Construction

As I stated in a previous mail - I used to use Emacs for this step, but
now have had my hand forced and use vim.

>    - Program Analysis

The compiler itself.

>    - Maintenance


> 3. What kind of specifications you use?
>    * Formal
>    * Semiformal
>    * Informal
>    * I don't use, My program is a specification
>    * Another (?)

I haven't had a real need for any formal specifications yet, so I must say
that I float somewhere between option 3 and 4 :)

> 4. Do you use some program verification method when you build your program?
>    * I don't use, I trust in my program (logic, isn't it?)
>    * I don't use, I debug when I have problems
>    * I use, but rarely
>    * I use frequently

Just the debugger. The compiler generally does a good enough job that once
it accepts a program you can be fairly sure it is correct.

> 5. What helps do you use to write your programs? This is not exclusive, so 
> you can mark two or more. If you can explain a little, so much better.
>    * A good text editor (vi, emacs)

picopicopicopicopicopicopicopico - CHU

Yes, I'm a vim guy now.

>    * Use of programming patterns

As Ralph said, the standard library is very good, and I make extensive use
of it.

>    * Use of codification standards

This definately helps teh readability of the code, but doesn't have as
great an impact on the ease of writing. But yes, I stick to the coding
guidelines set out on the mercury developers page. (Some of which I didn't
necessarily agree with, but have grown used to now)

>    * Use of programming methodology (which?)

>    * Another (?)

Hassling people like DJ and Fergus when I can't find the <any> key on my

> 6. What degree of interaction you would like to see in a tool for Mercury 
> program development?
>    * High (GUI integrating several tools and supporting all programming tasks)

An IDE would be cool, as long as it was actually usable and added
something to your programming environment more than just a few colours and
buttons. I also have similar concerns to Ralph here - if I go and edit
something outside the IDE, it must be able to cope with that.

>    * Medium (e.g. Emacs mode with support to some programming tasks and 
> independent automatic tools)

This would work well for me - as long as the indentation rules were easily
customisable :)

Actually, something like the emacs mode for Haskell would be brilliant. It
scans your source and builds up a menu of all the declarations in your
program that allows you to jump straight to them in the source. It also
has built in support for Hugs, and can open up a Hugs window inside the

>    * Low (Simple text editor and independent automatic tools)

This is what we have now, and we all seem to get by okay :)


mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list