[mercury-users] Creating EXE from il, am I missing something? (Thanks for the Mercury language)

Eric Taucher gluon at earthlink.net
Fri May 11 23:18:31 AEST 2007


Jon,

Thanks for the update. My interest is purely for my own personal research to
see if a logic language with types leads to a better solution than Prolog,
or rolling my own unification library. Presently speed is low on the list of
requirements. Higher is unification, types, and working with .Net.

By using .Net I can mix and match different languages to the parts of the
problem. I would use Mercury when I need unification, F# for functional
parts, C# to glue the parts together, and looking at LINQ for working with
data.

I subscribe to MSDN Universal every few years, and my last subscription
ended several months ago. This gives me all of the tools, but not
necessarily the latest and greatest.

As I just started compiling the samples yesterday with Mercury, an will be
trying to push the use of il, if there are things you want me to send
feedback on, just send me a list.

I can't guarantee how frequently and how long I will be using Mercury, but
for now, I spend most of my time with it.

Thanks

Eric


-----Original Message-----
From: owner-mercury-users at csse.unimelb.edu.au
[mailto:owner-mercury-users at csse.unimelb.edu.au] On Behalf Of Jonathan
Morgan
Sent: Friday, May 11, 2007 6:54 AM
To: mercury-users at csse.unimelb.edu.au
Subject: Re: [mercury-users] Creating EXE from il, am I missing something?
(Thanks for the Mercury language)

On 5/11/07, Eric Taucher <gluon at earthlink.net> wrote:
>
> First let me thank those that made Mercury. Having used Prolog for years,
I
> am glad to have found a typed logic/functional language. I am also pleased
> that it might work with .NET.
>
> Now that I have passed the installation, test, and compiling with -target
> il, I am looking to create executable files directly, but seem to have
gone
> past what is documented.
>
> Can Mercury 13.1 generate an exe file with the -target il? I am only
getting
> a DLL, and I don't know if I am missing another option or something.

I intermittently check how the .NET backend is going and fix things
that don't work.  mercury-0.13.1 does work with .NET 1.1, but there
might need to be a few minor changes.
>From memory, mercury will generate DLL files for every module, and
then an executable for the main module.  You will need to pass
--enable-dotnet or something similar to configure when you install
Mercury, then try `mmc --make hello --grade il' in the samples
directory.  This should create an executable.

Note from the web page that the IL backend is still considered of beta
quality.  I would not rely on it for production code, because it is
frequently broken, and does not support all of Mercury.  Code
generated with it is fairly bulky and slow to start up, and it cannot
compare with the speeds of Mercury's C backends.  Many of the
libraries in extras and elsewhere rely on having a C backend.  In
short, while playing with the IL backend is interesting, it is
unlikely to provide you with brilliant .NET inter-operability.  For
pure Mercury programs I would favour the C backends.

Jon

--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------

--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list