<N: VoidRegister>

Filip Konvička filip.konvicka.removethisantispamtoken at logis.cz
Mon Sep 11 10:23:38 CEST 2006


Hi all!

I've just spotted a serious emulator error, could you please confirm it?

local
    fun {Fct C _}
       C
    end
in
    {System.showInfo
     {Fct some/*#thing*/
      case xyz
      of something(Msg ...) then
         nil
      else
         {System.showInfo nil}
         nil
      end
     }
    }
end

fails with

%*************************** type error *************************
%**
%** Expected type: virtualstring
%** At argument:   1
%** In statement:  {System.showInfo <N: VoidRegister>}
%**
%** Call Stack:
%** toplevel abstraction in line 1, column 0, PC = 11812436
%**--------------------------------------------------------------

Any of the following avoids the bug:
* uncommenting /*#thing*/
* changing something(Msg ...) to something(Msg)
* entering the first case branch, e.g. by changing xyz to e.g. something(1)
* removing the {System.showInfo nil} call
* changing the 2nd argument from E to (S E) syntax, e.g. (case .... end 
nil); or otherwise trying to avoid the case expression.

The core syntax of the case with and without the "..." look almost the 
same, so I guess it is not a compiler issue.

Thanks,
Filip




More information about the mozart-users mailing list