Trying to get a NN code going

Antonio Eduardo Costa Pereira costa@ufu.br
Wed, 03 Mar 1999 20:32:00 -0300


I am Alex. I am using costa@ufu.br, because I don't have an email
address.

Fergus Henderson wrote:
> 
> This is a quite reasonable expectation even for functional languages.
> Since I can't resist the opportunity for a plug ;-), I'll point out that
> the current Mercury implementation gives you stack backtraces for these
> kinds of runtime errors, so long as you compile with debugging enabled.


Dear Fergus.
I have a few questions about Mercury. It seems that you work in the
Mercury team (correct me, if I am wrong). I have read a long
statement about the philosophy behind Mercury (I cannot say
where, but probably somewhere in the Mercury page). There, the
authors say that a logic language, if it is to be a viable
replacement to the procedural languages, it must be fast, 
it must have access to databases, etc. I aggree with everything
you people said in that page, but I would like to add a few things:

1- It must be ported to the platform that almost everybody is
using. You know, I hate Windows, you hate Windows, everybody
who works with computer science hate Windows. A few people
hate not only Windows, but Bill Gates as well. Nevertheless,
the world is using Windows. My secretary is using Windows.
My son is playing games using Windows. My daughter uses
windows to send e-mail to her Argentinian boy friend. My
students use Windows. People who contract my technical expertise
use Windows. I am supposed to pay my income tax in a program
that run only in Windows. I insist with everybody to move
to another operating system (like LINUX, that I love, you
love, everybody loves), but I think that I am preaching in the
desert. Conclusion: Since everybody, in spite of the best
advices, will keep using Windows, Mercury will not be widely
used unless you people port it to _WINDOWS_.

2- I know that you want everybody who dares to write a program
to be an expert, but let's face it: There are a lot of amateurs
and ethernal beginners in the job market. In fact, they are
the majority. They are the immense majority! If you don't make
Mercury easy to install, very few people will show interest
to your language. Besides, you must make Mercury as easy to use
as Delphi or Visual Basic and as elegant as Visual Prolog.
It must be easy to install. The guy should put the CD-ROM
in his driver (under Windows 98, of course), close the door
and wait for the installation to be complete. Then, he clicks
a nice icon, and WHAW! A beautiful GUI, with components,
menus, editors, databases, help, multimedia, etc.

3- The compiler must be so fast that it feels like an
interpreter. The generated code must be as efficient as Clean's.
The compiler itself must fit in a floppy disk (Clean compiler
fits in a floppy disk, with room for a few example and the
unpack utility). The small compiler makes easy to download
the compiler.

Right now, I am using Visual Prolog, who satistfies requirements
(1) and (2). Of course, it doesn't comply with requirement (3).
It is fast, and feels like an interpreter. However, it is a bit
slow, and it is huge (20 Megabytes). Therefore, I hope that
you start offering Windows binaries for Mercury, and make
compilation time smaller.

A question: I examined the syntax of a few programs written in
Mercury. I noticed that there were declarations everywhere.
Is this necessary?  Or do you have type inference?

Alex Santos Soares.