Skip to content

Instantly share code, notes, and snippets.

@enricosada
Last active August 29, 2015 13:57
Show Gist options
  • Save enricosada/9423030 to your computer and use it in GitHub Desktop.
Save enricosada/9423030 to your computer and use it in GitHub Desktop.
stream bug, mono vs dotnet

repro for bug fsharp/fsharp#246

on fsi, stream_mono.txt and stream_dotnet.txt

compiled streambug.fs with mono and dotnet disassembled to streambug_mono.cil and streambug_dotnet.cil

> typeof<int stream>;;
val it : System.Type =
FSI_0002+stream`1[System.Int32]
{Assembly = FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=n
ull;
AssemblyQualifiedName = "FSI_0002+stream`1[[System.Int32, mscorlib, Version
=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], FSI-ASSEMBLY, Vers
ion=0.0.0.0, Culture=neutral, PublicKeyToken=null";
Attributes = AutoLayout, AnsiClass, Class, NestedPublic, Abstract, Serializ
able, AutoClass;
BaseType = System.Object;
ContainsGenericParameters = false;
CustomAttributes = seq
[[System.SerializableAttribute()];
[System.Diagnostics.DebuggerDisplayAttribute("{__Debu
gDisplay(),nq}")];
[Microsoft.FSharp.Core.CompilationMappingAttribute((M
icrosoft.FSharp.Core.SourceConstructFlags)1)]];
DeclaredConstructors = [|Void .cctor(); Void .ctor()|];
DeclaredEvents = [||];
DeclaredFields = [|stream`1 _unique_Nil|];
DeclaredMembers = [|stream`1 get_Nil(); Boolean get_IsNil();
stream`1 NewCons(Int32, Microsoft.FSharp.Core.FSharpFun
c`2[Microsoft.FSharp.Core.Unit,FSI_0002+stream`1[System.Int32]]);
Boolean get_IsCons(); Int32 get_Tag();
System.Object __DebugDisplay(); Void .cctor();
Void .ctor(); Int32 Tag; stream`1 Nil; Boolean IsNil;
Boolean IsCons; stream`1 _unique_Nil;
FSI_0002+stream`1+Tags[a]; FSI_0002+stream`1+_Nil[a];
FSI_0002+stream`1+Cons[a];
FSI_0002+stream`1+_Nil@DebugTypeProxy[a];
FSI_0002+stream`1+Cons@DebugTypeProxy[a]|];
DeclaredMethods = [|stream`1 get_Nil(); Boolean get_IsNil();
stream`1 NewCons(Int32, Microsoft.FSharp.Core.FSharpFun
c`2[Microsoft.FSharp.Core.Unit,FSI_0002+stream`1[System.Int32]]);
Boolean get_IsCons(); Int32 get_Tag();
System.Object __DebugDisplay()|];
DeclaredNestedTypes = seq
[FSI_0002+stream`1+Tags[a];
FSI_0002+stream`1+_Nil[a];
FSI_0002+stream`1+Cons[a];
FSI_0002+stream`1+_Nil@DebugTypeProxy[a]; ...];
DeclaredProperties = [|Int32 Tag; stream`1 Nil; Boolean IsNil;
Boolean IsCons|];
DeclaringMethod = ?;
DeclaringType = FSI_0002;
FullName = "FSI_0002+stream`1[[System.Int32, mscorlib, Version=4.0.0.0, Cul
ture=neutral, PublicKeyToken=b77a5c561934e089]]";
GUID = 224fde65-d2c4-3f71-8fa0-10d7eebc84b9;
GenericParameterAttributes = ?;
GenericParameterPosition = ?;
GenericTypeArguments = [|System.Int32|];
GenericTypeParameters = [||];
HasElementType = false;
ImplementedInterfaces = [||];
IsAbstract = true;
IsAnsiClass = false;
IsArray = false;
IsAutoClass = true;
IsAutoLayout = true;
IsByRef = false;
IsCOMObject = false;
IsClass = true;
IsConstructedGenericType = true;
IsContextful = false;
IsEnum = false;
IsExplicitLayout = false;
IsGenericParameter = false;
IsGenericType = true;
IsGenericTypeDefinition = false;
IsImport = false;
IsInterface = false;
IsLayoutSequential = false;
IsMarshalByRef = false;
IsNested = true;
IsNestedAssembly = false;
IsNestedFamANDAssem = false;
IsNestedFamORAssem = false;
IsNestedFamily = false;
IsNestedPrivate = false;
IsNestedPublic = true;
IsNotPublic = false;
IsPointer = false;
IsPrimitive = false;
IsPublic = false;
IsSealed = false;
IsSecurityCritical = true;
IsSecuritySafeCritical = false;
IsSecurityTransparent = false;
IsSerializable = true;
IsSpecialName = false;
IsUnicodeClass = false;
IsValueType = false;
IsVisible = true;
MemberType = NestedType;
MetadataToken = 33554437;
Module = FSI-ASSEMBLY;
Name = "stream`1";
Namespace = null;
ReflectedType = FSI_0002;
StructLayoutAttribute = System.Runtime.InteropServices.StructLayoutAttribut
e;
TypeHandle = System.RuntimeTypeHandle;
TypeInitializer = Void .cctor();
UnderlyingSystemType = ...;}
> typeof<int stream>;;
val it : System.Type =
FSI_0002+stream`1[System.Int32]
{Assembly = FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;
AssemblyQualifiedName = "FSI_0002+stream`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";
Attributes = NestedPublic, Abstract, Serializable, AutoClass;
BaseType = System.Object;
ContainsGenericParameters = false;
CustomAttributes = seq
[<ToString exception: Object reference not set to an instance of an object>;
<ToString exception: Object reference not set to an instance of an object>];
DeclaredConstructors = [|Void .cctor(); Void .ctor()|];
DeclaredEvents = [||];
DeclaredFields = [|FSI_0002+stream`1[System.Int32] _unique_Nil|];
DeclaredMembers = [|FSI_0002+stream`1[System.Int32] get_Nil();
Boolean get_IsNil();
FSI_0002+stream`1[System.Int32] NewCons(Int32, Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.Unit,FSI_0002+stream`1[System.Int32]]);
Boolean get_IsCons(); Int32 get_Tag();
System.Object __DebugDisplay(); Void .cctor();
Void .ctor(); Int32 Tag;
FSI_0002+stream`1[System.Int32] Nil; Boolean IsNil;
Boolean IsCons;
FSI_0002+stream`1[System.Int32] _unique_Nil;
FSI_0002+stream`1+Cons@DebugTypeProxy[a];
FSI_0002+stream`1+_Nil@DebugTypeProxy[a];
FSI_0002+stream`1+Cons[a]; FSI_0002+stream`1+_Nil[a];
FSI_0002+stream`1+Tags[a]|];
DeclaredMethods = [|FSI_0002+stream`1[System.Int32] get_Nil();
Boolean get_IsNil();
FSI_0002+stream`1[System.Int32] NewCons(Int32, Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Core.Unit,FSI_0002+stream`1[System.Int32]]);
Boolean get_IsCons(); Int32 get_Tag();
System.Object __DebugDisplay()|];
DeclaredNestedTypes = seq
[FSI_0002+stream`1+Cons@DebugTypeProxy;
FSI_0002+stream`1+_Nil@DebugTypeProxy;
FSI_0002+stream`1+Cons; FSI_0002+stream`1+_Nil;
...];
DeclaredProperties = [|Int32 Tag; FSI_0002+stream`1[System.Int32] Nil;
Boolean IsNil; Boolean IsCons|];
DeclaringMethod = ?;
DeclaringType = FSI_0002;
FullName = "FSI_0002+stream`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]";
GUID = 00000000-0000-0000-0000-000000000000;
GenericParameterAttributes = ?;
GenericParameterPosition = ?;
GenericTypeArguments = [|System.Int32|];
GenericTypeParameters = [||];
HasElementType = false;
ImplementedInterfaces = [||];
IsAbstract = true;
IsAnsiClass = false;
IsArray = false;
IsAutoClass = true;
IsAutoLayout = true;
IsByRef = false;
IsCOMObject = false;
IsClass = true;
IsConstructedGenericType = true;
IsContextful = false;
IsEnum = false;
IsExplicitLayout = false;
IsGenericParameter = false;
IsGenericType = true;
IsGenericTypeDefinition = false;
IsImport = false;
IsInterface = false;
IsLayoutSequential = false;
IsMarshalByRef = false;
IsNested = true;
IsNestedAssembly = false;
IsNestedFamANDAssem = false;
IsNestedFamORAssem = false;
IsNestedFamily = false;
IsNestedPrivate = false;
IsNestedPublic = true;
IsNotPublic = false;
IsPointer = false;
IsPrimitive = false;
IsPublic = false;
IsSealed = false;
IsSecurityCritical = false;
IsSecuritySafeCritical = false;
IsSecurityTransparent = true;
IsSerializable = true;
IsSpecialName = false;
IsUnicodeClass = false;
IsValueType = false;
IsVisible = true;
MemberType = NestedType;
MetadataToken = 33554437;
Module = FSI-ASSEMBLY;
Name = "stream`1";
Namespace = null;
ReflectedType = FSI_0002;
StructLayoutAttribute = System.Runtime.InteropServices.StructLayoutAttribute;
TypeHandle = System.RuntimeTypeHandle;
TypeInitializer = Void .cctor();
UnderlyingSystemType = ...;}
module StreamBug
type 'a stream = | Nil | Cons of 'a * (unit -> 'a stream)
let d = Nil
.assembly extern mscorlib
{
.ver 4:0:0:0
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly extern FSharp.Core
{
.ver 4:3:0:0
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
}
.assembly 'streambug_dotnet'
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::'.ctor'(int32, int32, int32) = (
01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // ................
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.mresource public 'FSharpSignatureData.streambug_dotnet'
{
}
.mresource public 'FSharpOptimizationData.streambug_dotnet'
{
}
.module streambug_dotnet.dll // GUID = {531A6848-5E06-B978-A745-038348681A53}
.class public auto ansi abstract sealed StreamBug
extends [mscorlib]System.Object
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = (01 00 07 00 00 00 00 00 ) // ........
// method line 1
.method public static
default class StreamBug/stream`1<!!a> d<a> () cil managed
{
// Method begins at RVA 0x2050
// Code size 6 (0x6)
.maxstack 8
IL_0000: call class StreamBug/stream`1<!0> class StreamBug/stream`1<!!a>::get_Nil()
IL_0005: ret
} // end of method StreamBug::d
.class nested public auto auto abstract serializable beforefieldinit stream`1<a>
extends [mscorlib]System.Object
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = (01 00 01 00 00 00 00 00 ) // ........
.field assembly static initonly class StreamBug/stream`1<!0> _unique_Nil
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 2
.method private static specialname rtspecialname
default void '.cctor' () cil managed
{
// Method begins at RVA 0x2058
// Code size 11 (0xb)
.maxstack 8
IL_0000: newobj instance void class StreamBug/stream`1/_Nil<!a>::'.ctor'()
IL_0005: stsfld class StreamBug/stream`1<!0> class StreamBug/stream`1<!0>::_unique_Nil
IL_000a: ret
} // end of method stream`1::.cctor
// method line 3
.method assembly specialname rtspecialname
instance default void '.ctor' () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2064
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ret
} // end of method stream`1::.ctor
// method line 4
.method public static
default class StreamBug/stream`1<!a> get_Nil () cil managed
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = (01 00 08 00 00 00 00 00 00 00 00 00 ) // ............
// Method begins at RVA 0x206c
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class StreamBug/stream`1<!0> class StreamBug/stream`1<!0>::_unique_Nil
IL_0005: ret
} // end of method stream`1::get_Nil
// method line 5
.method public hidebysig
instance default bool get_IsNil () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2074
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: isinst class StreamBug/stream`1/_Nil<!0>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method stream`1::get_IsNil
// method line 6
.method public static
default class StreamBug/stream`1<!a> NewCons (!a item1, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> item2) cil managed
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = (01 00 08 00 00 00 01 00 00 00 00 00 ) // ............
// Method begins at RVA 0x2080
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: newobj instance void class StreamBug/stream`1/Cons<!a>::'.ctor'(!0, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>>)
IL_0007: ret
} // end of method stream`1::NewCons
// method line 7
.method public hidebysig
instance default bool get_IsCons () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x208c
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: isinst class StreamBug/stream`1/Cons<!0>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method stream`1::get_IsCons
// method line 8
.method public hidebysig
instance default int32 get_Tag () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2098
// Code size 15 (0xf)
.maxstack 4
.locals init (
class StreamBug/stream`1<!a> V_0)
IL_0000: ldarg.0
IL_0001: stloc.0
IL_0002: ldloc.0
IL_0003: isinst class StreamBug/stream`1/Cons<!0>
IL_0008: brfalse.s IL_000d
IL_000a: ldc.i4.1
IL_000b: br.s IL_000e
IL_000d: ldc.i4.0
IL_000e: ret
} // end of method stream`1::get_Tag
// method line 9
.method assembly hidebysig specialname
instance default object __DebugDisplay () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20b4
// Code size 22 (0x16)
.maxstack 8
IL_0000: ldstr "%+0.8A"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!a>, string>, class [FSharp.Core]Microsoft.FSharp.Core.Unit, string, string, string>::'.ctor'(string)
IL_000a: call !!0 class [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!0>,string>> (class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string>)
IL_000f: ldarg.0
IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!a>, string>::Invoke(!0)
IL_0015: ret
} // end of method stream`1::__DebugDisplay
.property instance int32 Tag ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default int32 StreamBug/stream`1::get_Tag ()
}
.property class StreamBug/stream`1<!a> Nil ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get default class StreamBug/stream`1<!0> StreamBug/stream`1::get_Nil ()
}
.property instance bool IsNil ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default bool StreamBug/stream`1::get_IsNil ()
}
.property instance bool IsCons ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default bool StreamBug/stream`1::get_IsCons ()
}
.class nested public auto ansi abstract sealed Tags<a>
extends [mscorlib]System.Object
{
.field public static literal int32 Nil = int32(0x00000000)
.field public static literal int32 Cons = int32(0x00000001)
} // end of class Tags
.class nested assembly auto ansi specialname serializable beforefieldinit _Nil<a>
extends class StreamBug/stream`1<!0>
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerTypeProxyAttribute::'.ctor'(class [mscorlib]System.Type) = (
01 00 26 53 74 72 65 61 6D 42 75 67 2B 73 74 72 // ..&StreamBug+str
65 61 6D 60 31 2B 5F 4E 69 6C 40 44 65 62 75 67 // eam`1+_Nil@Debug
54 79 70 65 50 72 6F 78 79 00 00 ) // TypeProxy..
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
// method line 10
.method assembly specialname rtspecialname
instance default void '.ctor' () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20cc
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void class StreamBug/stream`1<!a>::'.ctor'()
IL_0006: ret
} // end of method _Nil::.ctor
} // end of class _Nil
.class nested public auto ansi specialname serializable beforefieldinit Cons<a>
extends class StreamBug/stream`1<!0>
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerTypeProxyAttribute::'.ctor'(class [mscorlib]System.Type) = (
01 00 26 53 74 72 65 61 6D 42 75 67 2B 73 74 72 // ..&StreamBug+str
65 61 6D 60 31 2B 43 6F 6E 73 40 44 65 62 75 67 // eam`1+Cons@Debug
54 79 70 65 50 72 6F 78 79 00 00 ) // TypeProxy..
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
.field assembly initonly !0 item1
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.field assembly initonly class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> item2
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 11
.method assembly specialname rtspecialname
instance default void '.ctor' (!a item1, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> item2) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20d4
// Code size 21 (0x15)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void class StreamBug/stream`1<!a>::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_000d: ldarg.0
IL_000e: ldarg.2
IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_0014: ret
} // end of method Cons::.ctor
// method line 12
.method public hidebysig
instance default !a get_Item1 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20ec
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_0006: ret
} // end of method Cons::get_Item1
// method line 13
.method public hidebysig
instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> get_Item2 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20f4
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_0006: ret
} // end of method Cons::get_Item2
.property instance !a Item1 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default !0 StreamBug/stream`1/Cons::get_Item1 ()
}
.property instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> Item2 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 01 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!0>> StreamBug/stream`1/Cons::get_Item2 ()
}
} // end of class Cons
.class nested assembly auto ansi specialname beforefieldinit _Nil@DebugTypeProxy<a>
extends [mscorlib]System.Object
{
.field assembly class StreamBug/stream`1/_Nil<!0> _obj
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 14
.method public specialname rtspecialname
instance default void '.ctor' (class StreamBug/stream`1/_Nil<!a> obj) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20fc
// Code size 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld class StreamBug/stream`1/_Nil<!0> class StreamBug/stream`1/_Nil@DebugTypeProxy<!0>::_obj
IL_000d: ret
} // end of method _Nil@DebugTypeProxy::.ctor
} // end of class _Nil@DebugTypeProxy
.class nested assembly auto ansi specialname beforefieldinit Cons@DebugTypeProxy<a>
extends [mscorlib]System.Object
{
.field assembly class StreamBug/stream`1/Cons<!0> _obj
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 15
.method public specialname rtspecialname
instance default void '.ctor' (class StreamBug/stream`1/Cons<!a> obj) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x210c
// Code size 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_000d: ret
} // end of method Cons@DebugTypeProxy::.ctor
// method line 16
.method public hidebysig
instance default !a get_Item1 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x211c
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_0006: ldfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_000b: ret
} // end of method Cons@DebugTypeProxy::get_Item1
// method line 17
.method public hidebysig
instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> get_Item2 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x212c
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_0006: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_000b: ret
} // end of method Cons@DebugTypeProxy::get_Item2
.property instance !a Item1 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default !0 StreamBug/stream`1/Cons@DebugTypeProxy::get_Item1 ()
}
.property instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> Item2 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 01 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!0>> StreamBug/stream`1/Cons@DebugTypeProxy::get_Item2 ()
}
} // end of class Cons@DebugTypeProxy
} // end of class stream`1
} // end of class StreamBug
.namespace '<StartupCode$streambug_dotnet>'
{
.class private auto ansi abstract sealed $StreamBug
extends [mscorlib]System.Object
{
} // end of class <StartupCode$streambug_dotnet>.$StreamBug
}
.assembly extern mscorlib
{
.ver 4:0:0:0
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly extern FSharp.Core
{
.ver 4:3:1:0
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
}
.assembly 'streambug_mono'
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::'.ctor'(int32, int32, int32) = (
01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // ................
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.mresource public 'FSharpSignatureData.streambug_mono'
{
}
.mresource public 'FSharpOptimizationData.streambug_mono'
{
}
.module streambug_mono.dll // GUID = {531A688C-4444-1DEE-A745-03838C681A53}
.class public auto ansi abstract sealed StreamBug
extends [mscorlib]System.Object
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = (01 00 07 00 00 00 00 00 ) // ........
// method line 1
.method public static
default class StreamBug/stream`1<!!a> d<a> () cil managed
{
// Method begins at RVA 0x2050
// Code size 6 (0x6)
.maxstack 8
IL_0000: call class StreamBug/stream`1<!0> class StreamBug/stream`1<!!a>::get_Nil()
IL_0005: ret
} // end of method StreamBug::d
.class nested public auto auto abstract serializable beforefieldinit stream`1<a>
extends [mscorlib]System.Object
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = (01 00 01 00 00 00 00 00 ) // ........
.field assembly static initonly class StreamBug/stream`1<!0> _unique_Nil
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 2
.method private static specialname rtspecialname
default void '.cctor' () cil managed
{
// Method begins at RVA 0x2058
// Code size 11 (0xb)
.maxstack 8
IL_0000: newobj instance void class StreamBug/stream`1/_Nil<!a>::'.ctor'()
IL_0005: stsfld class StreamBug/stream`1<!0> class StreamBug/stream`1<!0>::_unique_Nil
IL_000a: ret
} // end of method stream`1::.cctor
// method line 3
.method assembly specialname rtspecialname
instance default void '.ctor' () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2064
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ret
} // end of method stream`1::.ctor
// method line 4
.method public static
default class StreamBug/stream`1<!a> get_Nil () cil managed
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = (01 00 08 00 00 00 00 00 00 00 00 00 ) // ............
// Method begins at RVA 0x206c
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class StreamBug/stream`1<!0> class StreamBug/stream`1<!0>::_unique_Nil
IL_0005: ret
} // end of method stream`1::get_Nil
// method line 5
.method public hidebysig
instance default bool get_IsNil () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2074
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: isinst class StreamBug/stream`1/_Nil<!0>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method stream`1::get_IsNil
// method line 6
.method public static
default class StreamBug/stream`1<!a> NewCons (!a item1, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> item2) cil managed
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = (01 00 08 00 00 00 01 00 00 00 00 00 ) // ............
// Method begins at RVA 0x2080
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: newobj instance void class StreamBug/stream`1/Cons<!a>::'.ctor'(!0, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>>)
IL_0007: ret
} // end of method stream`1::NewCons
// method line 7
.method public hidebysig
instance default bool get_IsCons () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x208c
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: isinst class StreamBug/stream`1/Cons<!0>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method stream`1::get_IsCons
// method line 8
.method public hidebysig
instance default int32 get_Tag () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x2098
// Code size 15 (0xf)
.maxstack 4
.locals init (
class StreamBug/stream`1<!a> V_0)
IL_0000: ldarg.0
IL_0001: stloc.0
IL_0002: ldloc.0
IL_0003: isinst class StreamBug/stream`1/Cons<!0>
IL_0008: brfalse.s IL_000d
IL_000a: ldc.i4.1
IL_000b: br.s IL_000e
IL_000d: ldc.i4.0
IL_000e: ret
} // end of method stream`1::get_Tag
// method line 9
.method assembly hidebysig specialname
instance default object __DebugDisplay () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20b4
// Code size 22 (0x16)
.maxstack 8
IL_0000: ldstr "%+0.8A"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!a>, string>, class [FSharp.Core]Microsoft.FSharp.Core.Unit, string, string, string>::'.ctor'(string)
IL_000a: call !!0 class [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!0>,string>> (class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string>)
IL_000f: ldarg.0
IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class StreamBug/stream`1<!a>, string>::Invoke(!0)
IL_0015: ret
} // end of method stream`1::__DebugDisplay
.property instance int32 Tag ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default int32 StreamBug/stream`1::get_Tag ()
}
.property class StreamBug/stream`1<!a> Nil ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get default class StreamBug/stream`1<!0> StreamBug/stream`1::get_Nil ()
}
.property instance bool IsNil ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default bool StreamBug/stream`1::get_IsNil ()
}
.property instance bool IsCons ()
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.get instance default bool StreamBug/stream`1::get_IsCons ()
}
.class nested public auto ansi abstract sealed Tags<a>
extends [mscorlib]System.Object
{
.field public static literal int32 Nil = int32(0x00000000)
.field public static literal int32 Cons = int32(0x00000001)
} // end of class Tags
.class nested assembly auto ansi specialname serializable beforefieldinit _Nil<a>
extends class StreamBug/stream`1<!0>
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerTypeProxyAttribute::'.ctor'(class [mscorlib]System.Type) = (
01 00 26 53 74 72 65 61 6D 42 75 67 2B 73 74 72 // ..&StreamBug+str
65 61 6D 60 31 2B 5F 4E 69 6C 40 44 65 62 75 67 // eam`1+_Nil@Debug
54 79 70 65 50 72 6F 78 79 00 00 ) // TypeProxy..
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
// method line 10
.method assembly specialname rtspecialname
instance default void '.ctor' () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20cc
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void class StreamBug/stream`1<!a>::'.ctor'()
IL_0006: ret
} // end of method _Nil::.ctor
} // end of class _Nil
.class nested public auto ansi specialname serializable beforefieldinit Cons<a>
extends class StreamBug/stream`1<!0>
{
.custom instance void class [mscorlib]System.Diagnostics.DebuggerTypeProxyAttribute::'.ctor'(class [mscorlib]System.Type) = (
01 00 26 53 74 72 65 61 6D 42 75 67 2B 73 74 72 // ..&StreamBug+str
65 61 6D 60 31 2B 43 6F 6E 73 40 44 65 62 75 67 // eam`1+Cons@Debug
54 79 70 65 50 72 6F 78 79 00 00 ) // TypeProxy..
.custom instance void class [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::'.ctor'(string) = (
01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl
61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}..
.field assembly initonly !0 item1
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.field assembly initonly class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> item2
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 11
.method assembly specialname rtspecialname
instance default void '.ctor' (!a item1, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> item2) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20d4
// Code size 21 (0x15)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void class StreamBug/stream`1<!a>::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_000d: ldarg.0
IL_000e: ldarg.2
IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_0014: ret
} // end of method Cons::.ctor
// method line 12
.method public hidebysig
instance default !a get_Item1 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20ec
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_0006: ret
} // end of method Cons::get_Item1
// method line 13
.method public hidebysig
instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> get_Item2 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20f4
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_0006: ret
} // end of method Cons::get_Item2
.property instance !a Item1 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default !0 StreamBug/stream`1/Cons::get_Item1 ()
}
.property instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> Item2 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 01 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!0>> StreamBug/stream`1/Cons::get_Item2 ()
}
} // end of class Cons
.class nested assembly auto ansi specialname beforefieldinit _Nil@DebugTypeProxy<a>
extends [mscorlib]System.Object
{
.field assembly class StreamBug/stream`1/_Nil<!0> _obj
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 14
.method public specialname rtspecialname
instance default void '.ctor' (class StreamBug/stream`1/_Nil<!a> obj) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x20fc
// Code size 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld class StreamBug/stream`1/_Nil<!0> class StreamBug/stream`1/_Nil@DebugTypeProxy<!0>::_obj
IL_000d: ret
} // end of method _Nil@DebugTypeProxy::.ctor
} // end of class _Nil@DebugTypeProxy
.class nested assembly auto ansi specialname beforefieldinit Cons@DebugTypeProxy<a>
extends [mscorlib]System.Object
{
.field assembly class StreamBug/stream`1/Cons<!0> _obj
.custom instance void class [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = (01 00 00 00 00 00 00 00 ) // ........
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// method line 15
.method public specialname rtspecialname
instance default void '.ctor' (class StreamBug/stream`1/Cons<!a> obj) cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x210c
// Code size 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_000d: ret
} // end of method Cons@DebugTypeProxy::.ctor
// method line 16
.method public hidebysig
instance default !a get_Item1 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x211c
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_0006: ldfld !0 class StreamBug/stream`1/Cons<!0>::item1
IL_000b: ret
} // end of method Cons@DebugTypeProxy::get_Item1
// method line 17
.method public hidebysig
instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> get_Item2 () cil managed
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
// Method begins at RVA 0x212c
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class StreamBug/stream`1/Cons<!0> class StreamBug/stream`1/Cons@DebugTypeProxy<!0>::_obj
IL_0006: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class StreamBug/stream`1<!0>> class StreamBug/stream`1/Cons<!0>::item2
IL_000b: ret
} // end of method Cons@DebugTypeProxy::get_Item2
.property instance !a Item1 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default !0 StreamBug/stream`1/Cons@DebugTypeProxy::get_Item1 ()
}
.property instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!a>> Item2 ()
{
.custom instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = (
01 00 04 00 00 00 01 00 00 00 01 00 00 00 00 00 ) // ................
.custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
.custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
.get instance default class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Core.Unit, class StreamBug/stream`1<!0>> StreamBug/stream`1/Cons@DebugTypeProxy::get_Item2 ()
}
} // end of class Cons@DebugTypeProxy
} // end of class stream`1
} // end of class StreamBug
.namespace '<StartupCode$streambug_mono>'
{
.class private auto ansi abstract sealed $StreamBug
extends [mscorlib]System.Object
{
} // end of class <StartupCode$streambug_mono>.$StreamBug
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment