[Mono-list] Mono 0.6 has been released
Miguel de Icaza
miguel@ximian.com
22 Aug 2001 23:53:06 -0400
Hello guys!
A new formal release of Mono has been done, this time I am
starting to standarize on the versioning scheme for the compiler
and the class libraries with the runtime.
Many more small .NET programs can be now executed, look at the
test directory to get an idea of all the stuff that works now.
We should have the Console working in the very short future, keep
your eyes open.
There are changes in 4 areas: the runtime, the compiler, the
class libraries and the support tools.
Many thanks go to Alex Graveley for preparing this summary of
changes since the Mono 0.5 release. Look at the bottom for
download information. There are just too many changes, basically
Mono is moving along very fast.
Here is a breakdown of what is on this release. Man, there are a
*lot* of changes. A *lot*. Thanks a lot to everyone who has been
working so hard on contributing to Mono.
The runtime has only been tested on Linux. The classes and
compiler can only be compiled on Windows with the .NET Beta2 SDK.
Runtime Changes:
* New opcodes implemented: br.*, brfalse.*, brtrue.*, beq.*,
bge.*, bgt.*, ble.*, bne.un.*, bge.un.*, bgt.un.*, ble.un.*,
blt.un.*, stind.i, ldflda, ldsflda, ldstr, ldelem.i8, stelem.i8,
leave.*, rethrow, box, unbox, unaligned, volatile, tail,
initblk, localloc opcode implementations. (Paolo, Dietmar)
* Array class support with all its internalcalls. Those funny
.NET shapped arrays are supported and all that (Dietmar)
* Mono can successfully handle mscorlib.dll fully thanks to
metadata table fixes (Paolo)
* property support in monodis (Paolo)
* printing to terminal (Dietmar)
* native PInvoke support (Paolo, Dietmar)
* internalcall support (Dietmar)
* String runtime class support (Dietmar)
* object casts (Dietmar)
* object cloning (Dietmar)
* object boxing (Paolo)
* internal stack handling cleanups (Paolo)
* class initialization and static constructors (Paolo)
* exceptions have been implemented (Paolo, Dietmar)
* stack trace printing for unhandled exceptions (Paolo)
* support for builtin math and null reference exceptions (Dietmar)
* replace type references with direct pointers (Dietmar)
* mono interpreter renamed to the much cuter "mint" (Miguel)
Compiler changes:
* Finished the type system rewrite, now the whole type system is
based on System.Reflection, probably the best design decision in
the whole compiler (miguel).
* Implemented Code Generation and semantic analysis for the following:
Interfaces
Complete, with the exception of events, which require
delegate support (need to do this).
Type definitions (Classes and structures).
Population of types with fields and static fields.
Handling of constructors and static constructors.
Method definition in classes and structures.
Parameter definition for all of those.
Local variable emission for blocks.
Beginning of code generation.
* Semantic Analysis
A lot of error checking is still missing, you could say that
MCS accepts an `ambiguous super set of C# grammar' as of now
;-)
I will be fixing this as time passes. Man, writing a compiler
with C# is fun and trivial. It sort of demistifies writting
compilers.
* Tokenizer/Parser
Many fixes to the grammar, begin moving towards preserving
lexer location information to report errors.
New error reporting mechanism being deployed, will have to
percolate it.
* General
Many cleanups and code reorganization.
Class Library Additions:
* System
MarshalByRefObject (Dietmar)
Math fixups (Dietmar)
Array fixups (Dietmar)
Attribute (Nick Drochak, Dietmar)
OperatingSystem (Jim Richardson)
PlatformID (Jim Richardson)
Environment (Jim Richardson)
Timespan (Duco Fijma)
Random (Bob Smith)
Uri (Garrett Rooney, Miguel)
IntPtr (Miguel)
RuntimeTypeHandle (Miguel)
EventHandler (Miguel)
IServiceProvider (Miguel)
UriPartial
UriHostNameType
UriFormatException
* System.ComponentModel
Component (Miguel)
ComponentCollection (Miguel)
Container (Miguel)
IComponent (Miguel)
IContainer (Miguel)
ISite (Miguel)
EventHandlerList (Miguel)
* System.Configuration
ConfigurationException (Chris Podurgiel)
ConfigurationSettings (Chris Podurgiel)
IConfigurationSectionHandler (Chris Podurgiel)
IgnoreSectionHandler (Chris Podurgiel)
NameValueSectionHandler (Chris Podurgiel)
* System.Cryptography
FromBase64Transform (Serge)
DESCryptoServiceProvider (Serge)
DES (Serge)
ToBase64Transform (Serge)
CipherMode (Matthew Ford)
CryptoStreamMode (Matthew Ford)
HashAlgorithm (Matthew Ford)
ICryptoTransform (Matthew Ford)
KeySizes (Matthew Ford)
MD5 (Matthew Ford)
MD5CryptoServiceProvider (Matthew Ford)
PaddingMode (Matthew Ford)
SHA1 (Matthew Ford)
SHA1CryptoServiceProvider (Matthew Ford)
SHA256 (Matthew Ford)
SHA256Managed (Matthew Ford)
SHA384 (Matthew Ford)
SHA512 (Matthew Ford)
* System.Collections
ArrayList (Nick Drochak)
CollectionBase (Nick Drochak)
ReadOnlyCollectionBase (Nick Drochak)
Queue (Ricardo Fernandez)
* System.Collections.Specialized
ListDictionary (John Barnette)
StringDictionary (John Barnette)
* System.Diagnostics
DebuggableAttribute (Nick Drochak)
ConditionalAttribute (Nick Drochak)
* System.Drawing
Point (Mike Kestner)
PointF (Mike Kestner)
Size (Mike Kestner)
SizeF (Mike Kestner)
* System.Globalization
NumberFormatInfo (Derek Holden)
* System.IO
Path (Jim Richardson)
Directory (Jim Richardson)
TextReader (Dietmar)
Stream (Dietmar)
FileStream (Dietmar)
* System.Runtime.Remoting
ObjRef (Miguel)
* System.Runtime.Serialization
IObjectReference (Miguel)
StreamingContext (Miguel)
StreamingContextStates (Miguel)
* System.Runtime.Serialization
IObjectReference (Miguel)
StreamingContext (Miguel)
StreamingContextStatus (Miguel)
* System.Web
BeginEventHandler (Bob Smith)
EndEventHandler (Bob Smith)
HttpCacheRevalidation (Bob Smith)
HttpCacheValidateHandler (Bob Smith)
HttpCacheability (Bob Smith)
HttpCookie (Bob Smith)
HttpCookieCollection (Bob Smith)
HttpValidationStatus (Bob Smith)
HttpWorkerRequest (Bob Smith)
HttpWorkerRequest (Bob Smith)
IHttpAsyncHandler (Bob Smith)
IHttpHandler (Bob Smith)
IHttpHandlerFactory (Bob Smith)
IHttpModule (Bob Smith)
ProcessShutdownReason (Bob Smith)
ProcessStatus (Bob Smith)
TraceMode (Bob Smith)
* System.Web.Configuration
AuthenticationMode (Leen Toelen)
FormsAuthPasswordFormat (Leen Toelen)
FormsProtectionEnum (Leen Toelen)
* System.Web.UI
Control (Bob Smith)
* System.Web.UI.HtmlControls
HtmlContainerControl (Bob Smith)
HtmlControl (Bob Smith)
HtmlGenericControl (Bob Smith)
* Tools
Sergey provided a tool to compare methods from two assemblies.
This is being used to test the compiler generated signatures.
* Availability:
Runtime:
http://www.go-mono.com/archive/mono-0.6.tar.gz
Classes:
http://www.go-mono.com/archive/mono-compiler-classes.0.6.tar.gz
Enjoy!
Miguel.