----- Original Message ----
> From: Jonas Maebe <jonas.ma...@elis.ugent.be>
> To: FPC developers' list <fpc-devel@lists.freepascal.org>
> Sent: Wed, November 11, 2009 1:43:08 PM
> Subject: Re: [fpc-devel] LLVM Backend?
>
-snip-
>
> > That's two problems, both fairly significant (although the latter is
> definitely heavier than the former). Do you think it's too soon to divide
> out
> the work? Is there more that needs discussion?
>
> It's not entirely clear to me yet how you see the result: an FPC frontend
> added
> to the LLVM project, or an LLVM backend added to the FPC project. I favour
> the
> latter, but a lot of what you talk about seems to be about the former. Or am
> I
> misunderstanding things?
I think you are understanding things well. I'm looking to FPC as a means to an
end where having a team member on the Mattathias BASIC team is creating some
libraries in Delphi that I want ported to LLVM. The reason I haven't thought
through the Pascal-specific portions of the task is that I am a C++ programmer.
The last time I programmed in Turbo Pascal, Delphi didn't even exist. My first
C programming class in college back in 1994 was on Turbo C++. I've since gone
on to do a lot of stuff in C and a little stuff in C++. I still have my Turbo
Pascal textbook but it's so out-of-date with regards to OOP that it is useless
to me. I am unable to parse half the stuff I see when I look at modern FPC
source.
Perhaps rather than discuss what code we will use from which project, FPC or
LLVM, we should be talking about who wants to do what. If I am to do most of
the work, then the packed array of booleans will be implemented with an LLVM
bitvector template class on a thin Pascal frontend accessing most of its code
through C wrappers of C++. If you do it, we'll be using a Pascal array of
packed booleans properly in Pascal and I wouldn't know what difference it would
make. If packed arrays apply to non-boolean types, and I'd be none-the-wiser
as to how it worked apart from my 1994-vintage Turbo Pascal programming
knowledge and my knowledge of programming in 68020 Assembly.
As far as code-maintenance is concerned, I favor LLVM code over FPC code
because as long as I watch the mailing list and rewrite portions of the code,
it will be an out-of-sync version of Pascal that would do what I needed it to
do in much the same way as FPC is out-of-sync with my old Amiga computer's
backend. I don't plan on bringing the Amiga backend up-to-date but I do plan
on writing a backend for the 680x0 series processors on LLVM for use with
Mattathias BASIC.
In summary, herein lies the source of our disagreement: I want to work in C++
because it is what I know. You want to work in Pascal because it is what you
know. We need to divide out the work so that we each know what is expected of
us.
Does that answer your questions?
--Sam Crow
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel