[Mono-devel-list] Pascal compiler?
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