blog.jj5.net (2003 to 2005)

Mono - My new favorite thing to do

Sat Jan 31 05:16:00 UTC+1100 2004

Categories:

I love reading the Mono source. The contributors have done such an awesome job.

// LAMESPEC: is funny. There's nothing quite like an _implementation_ to point out the gaps in your specification..

Rotor is cool too, as are the Common Language Infrastructure (CLI) and C# Language specifications (except for when they're lame! ;)

I've been thinking about the whole operator overloading thing, and wrote some sample code to test a few things, then got confused by what was going on, so I went to check out the various implementations, so much easier to read code than a LAMESPEC.

      SqlInt32  i = new SqlInt32(123);
      SqlInt32  i1 = SqlInt32.Null;
      SqlInt32  i2 = SqlInt32.Null;
      if (i1 == i2) { // (note: there must be an implicit SqlBoolean=>bool cast here!
        Console.WriteLine("you won't see this");
      }
      Console.WriteLine(i == i1);                         // SqlBoolean.Null
      Console.WriteLine(i1 == i2);                        // SqlBoolean.Null
      Console.WriteLine(Object.ReferenceEquals(i1, i2));  // false (boxing)
      Console.WriteLine(i1.Equals(i2));                   // true (shit hey)

John.


Copyright © 2003-2005 John Elliot