Package: nemerle
Version: 0.9.3+dfsg-3
Severity: important

nemerle as available in unstable appears to have some serious problems
with function-objects/delegates. As A simple example: (The code is taken
from http://nemerle.org/Grok_Functionals)

0:pts/1:~/tmp% cat funs.n   
class Functions {
    static f (x : int) : int
    {
        x * 2
    }

    static run_funval_twice (f : int -> int, v : int) : int
    {
        f (f (v))
    }

    public static Main () : void
    {
        System.Console.WriteLine ("{0}", run_funval_twice (f, 3))
    }
}

0:pts/1:~/tmp% ncc funs.n   
error: internal compiler error: got ArgumentException (type is not TypeBuilder 
but System.MonoType
Parameter name: type)
  at System.Reflection.Emit.TypeBuilder.GetMethod (System.Type type, 
System.Reflection.MethodInfo method) [0x00000] 
  at Nemerle.Compiler.ILEmitter.FrameworkGetMethod (System.Type t, 
System.Reflection.MethodInfo m) [0x00000] 
  at Nemerle.Compiler.ILEmitter.GetMethodInfo (Nemerle.Compiler.TyVar 
from_type, IMethod meth, Nemerle.Core.list`1 typars) [0x00000] 
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr expr) 
[0x00000] 
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr expr) 
[0x00000] 
  at Nemerle.Compiler.ILEmitter.Run () [0x00000] 
  at Nemerle.Compiler.MethodBuilder+_N__N_l29281_29413.apply_void () [0x00000] 
  at Nemerle.Compiler.TypeBuilder.FinalizeType () [0x00000] 
  at Nemerle.Compiler.TypeBuilder.EmitImplementation () [0x00000] 
  at Nemerle.Compiler.TypesManager+_N_emit_impl_24291.apply_void 
(Nemerle.Compiler.TypeBuilder _N_24290) [0x00000] 
  at Nemerle.Compiler.TypesManager+_N_maybe_f_24727.apply_void 
(Nemerle.Compiler.TypeBuilder _N_24726) [0x00000] 
  at Nemerle.Collections.List.Iter[TypeBuilder] (Nemerle.Core.list`1 l, 
Nemerle.Builtins.FunctionVoid`1 f) [0x00000] 
  at Nemerle.Core.list`1[Nemerle.Compiler.TypeBuilder].Iter 
(Nemerle.Builtins.FunctionVoid`1 f) [0x00000] 
  at Nemerle.Compiler.TypesManager.Iter (Nemerle.Core.list`1 builders, 
Nemerle.Builtins.FunctionVoid`1 f) [0x00000] 
  at Nemerle.Compiler.TypesManager.Iter (Nemerle.Builtins.FunctionVoid`1 f) 
[0x00000] 
  at Nemerle.Compiler.TypesManager.compile_all_tyinfos (Boolean aux_phase) 
[0x00000] 
  at Nemerle.Compiler.TypesManager+_N__N_l23867_23958.apply_void () [0x00000] 
  at Nemerle.Compiler.Solver.Enqueue (Nemerle.Builtins.FunctionVoid action) 
[0x00000] 
  at Nemerle.Compiler.TypesManager.EmitDecls () [0x00000] 
  at Nemerle.Compiler.Passes.Run () [0x00000] 
  at Nemerle.CommandlineCompiler.MainClass.main_with_catching () [0x00000] 


If you replace the line "f (f (v))" with "v", the code compiles and runs
(but obviously doesn't do what it was intended to do)


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages nemerle depends on:
ii  libmono-corlib2.0-cil  2.4.4~svn151842-3 Mono core library (for CLI 2.0)
ii  libmono-system2.0-cil  2.4.4~svn151842-3 Mono System libraries (for CLI 2.0
ii  libnemerle0.9-cil      0.9.3+dfsg-3      Class Libraries for Nemerle
ii  mono-runtime           2.4.4~svn151842-3 Mono runtime

nemerle recommends no packages.

nemerle suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to