[Mono-devel-list] Pascal compiler?

Grant Hess granthes at localaccess.com
Sun Mar 13 22:16:28 EST 2005

> I guess we agree on C# as programming language, so we do not need 
> another Delphi.NET compiler for bootstrapping (though we need very good 
> unit tests then) and probably can reuse existing utilities for the C# 
> and VB(?) compilers.
I think C# is the right place for the compiler.  If we are ever able to 
leverage gmcs, it will be significantly easier if we are developing in 
the same language as they are.

> So how do we start? Do we need a mono svn module, or do we work off-site 
> e.g sourceforge?

As far I am concerned, we can work off-line to begin with.  It will take 
a fair bit of time to get the initial framework setup.  No need to deal 
with the overhead of an SVN module yet.  Still, we should really have 
version control from the beginning.

As for development environment, I am constrained to keep my primary 
workspace in M$ using Visual Studio, but I have a VMWare partition with 
Linux and a (fairly) current Mono install.

> I'll dig into this - basically I think foreach is in, attributes of 
> course and new visibility identifiers. Then there are co-classes, 
> namespaces (multiple ones per unit, not just dotted unit names AFAIK) 
> and lack of pointers IIRC (and absolute keyword).
> Finally some changes to language semantics, as the unit finalizer might 
> not run in case e.g. C# code is using the Delphi.NET code; Destructors 
> are implemented via IDisposable; IIRC also the interface inheritance is 
> sane now (I could be wrong)
> Completely new are unicode identifiers support (expect for published 
> properties) and Delphi will get generics in the NET 2.0 timeframe. (Some 
> small generics additions might find their way back to Delphi.Win32 
> according to Mr. Thorpe.)
> Oh, and thanks to .NET, Delphi now has operator overloading.
> BTW: String[i] := "X"; doesn't work anymore IIRC.

In addition to the additions (hmm, maybe I should rephrase that!  8)  )...

Along with these additions to the language, I think we might want to go 
back through and evaluate certain structures in the existing language 
set.  For example, are variant types really necessary?

Another question that comes up concerns the runtime.  Is the rtl simple 
enough to let the compiler translate the Delphi like structure into CLI 
library access, or will we need to build a something.objectpascal 
library that needs to deploy with any applications?  Again, my lack of 
knowledge of the newer versions is bugging me.

More information about the Mono-devel-list mailing list