[Mono-list] Mercury on Mono (not successful)

Jaroslaw Kowalski jaroslaw.kowalski@atm.com.pl
Fri, 28 Feb 2003 10:20:22 +0100


To be more precise:

%SYSTEMROOT%\assembly\GAC\<namespace>\<version>_<culture>_<publickeytoken>.

where SYSTEMROOT can be taken from environment variable. There's also some
API to get it, but I don't
remember it right now.

Jarek

----- Original Message -----
From: "Fergus Henderson" <fjh@cs.mu.oz.au>
To: <mono-list@lists.ximian.com>
Sent: Thursday, February 27, 2003 8:09 PM
Subject: Re: [Mono-list] Mercury on Mono (not successful)


> On 27-Feb-2003, Paolo Molaro <lupus@ximian.com> wrote:
> > On 02/27/03 Fergus Henderson wrote:
> > > The first one is that Mono doesn't search the GAC.
> > > OK, that one is easy to work around; just add the appropriate
> > > directory to the PATH.
> >
> > Is there a windows developer here? I someone can provide the code
> > that returns the path to the GAC, I'll add it to the default search path
> > when running in windows.
>
> On my system it is in C:\WINNT\assembly\GAC, with each assembly under
> C:\WINNT\assembly\GAC\<namespace>\<version>__<publickeytoken>.
>
> > There are still two issues:
> > 1) in the files you provided a type is referenced, but I could not find
> > it defined in any module:
> > [mercury]mercury.private_builtin.ref_1
> > I guess a file is missing from the tarball.
>
> No, that type is indeed referenced but not defined.  This is a currently
> not-yet-implemented part of the Mercury standard library.  I hadn't
noticed
> that until now, because it works in Microsoft.NET.  It works because
> that type is never actually used at run-time.  Not sure what the ECMA
> standard says about this, but in any case I can fix our source to
> define that type.
>
> > 2) references to nested types are encoded with (for example):
> > namespace = mercury.list
> > name = list_1/[|]_2
> > I always thought that was not allowed and that you should use a typeref
> > to the parent with:
> > namespace = mercury.list
> > name = list_1
> > and a typeref to the typeref with:
> > namespace =
> > name = [|]_2
>
> Well, we just spit out IL assembler and let ilasm.exe handle it.
> We generate the name 'mercury'.'list'.'list_1'/'[|]_2', which I
> believe is correct according to the ECMA spec.
>
> > I guess we'll have to handle also this special case.
>
> That would be good.
>
> --
> Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the
pursuit
> The University of Melbourne         |  of excellence is a lethal habit"
> WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>