[nem-en] Integration again

Igor Tkachev it at rsdn.ru
Thu Nov 16 20:05:48 CET 2006


Michal, Kamil,

We got other problems that delay our integration project. And it looks
like we can't solve them without involving you.

1. First of all we do not completely understand how method's body
   compilation process and typing work. The integration has to
   postpone parsing and typing of methods for the performance purpose.
   We build types' tree, but instead of method compilation, we just
   store its location. Actual method body compilation is taken place
   at the moment someone needs access to the method's parse/typed tree.

   The problem is, sometime we get exceptions in the DtKind property
   (we guess during the method by method typing). It's not clear what
   is the local_context in the Resolve method:

   public Resolve () : void
   {
     Util.locate (loc, {
       def tmp = typer.local_context;
       try {
         typer.local_context = local_context;
         DoResolve ();
       } finally {
         typer.local_context = tmp;
       }
     })
   }

   Do we have to store it somewhere? If so, where can we get it?

   Also, what is the typer.solver.dt_store field? This is just a field
   that has a wrong value and causes typing problems of some methods.

   Another problem is the delayed typing. Sometimes we got
   TExpr.Delayed in the typed tree and we do not know what to do to
   resolve it in the correct way.  

   So, we need some explanation how method typing process works. We
   need your comments and suggestions what we do wrong. And it would
   be just great if you could find some time to help us debug the
   method typing.

   If you need some software for this like VS 2005 or other Microsoft
   stuff for development, we can ask our MVP guys for an MVPInvite
   MSDN subscription with all needed software and licenses.


2. Locations again. We need somehow to distinguish generated by macro
   or compiler locations and real locations from source code. So, we
   will be able to filter them and to implement some features more
   precisely. 


P.S. We are very close to release first version of the integration.
     Right now, we are fixing bugs and we need your help to get the
     compiler stable in completion mode.
  

-- 
Best regards,
Igor
mailto:it at rsdn.ru





More information about the devel-en mailing list