[mercury-users] A step toward getting Mercury to compile to Microsoft .NET 2.0

Peter Ross pro at missioncriticalit.com
Mon May 21 11:23:22 AEST 2007


On 5/20/07, Eric Taucher <gluon at earthlink.net> wrote:
> If you have tried to compile Mercury with the –il option using .NET 2.0 you
> will eventually get to the following problem noted in the dev mailing list.
>
> Mercury on .NET 2 and Mono
>
> With help from Jonathan Morgan, I have been able to get a stripped down
> version of dir__csharp_code.cs to compile. The step at which
> dir__csharp_code.cs is compiled is what causes the errors noted above.
>
> The errors were cause by the modules being referenced as assemblies. Once
> the IL code was changed in a sandbox version that recreated the errors,
> dir__csharp_code.cs compiled.
>
Yes that looks to be the problem.

> Now that the signature of the problem is known, I will work toward fixing
> the code for the compiler, but as I only built Mercury for the first time a
> week ago, I have a lot of catching up.
>
The issue here is that the standard library is built specially and
handled specially in the code.  Every other Mercury module compiles to
one assembly, except the standard library which compiles to one
assembly mercury.dll.  It looks like we have missed some situations
where we aren't checking whether or not we are compiling a standard
library module.  I suspect it is the code path which implement
foreign_export.

I'm currently in the middle of some work at the moment, and don't have
time to give anymore help until the end of the week, but hopefully
this is enough to get you started.

--------------------------------------------------------------------------
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