[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: beagle compiler
Michael J. Mahon wrote:
> > I would have thought most of the high level languages were...
>
> I doubt it. Most were probably written in assembly language, or,
> at best, cross-compiled. (I don't count the IIgs, since that was
> a 16-bit system from the point of view of compilers.)
It's a shame that the APW/ORCA environment wasn't used from the get-go
as the foundation layer of the operating system. Much more Apple II
like that what materialised which always felt like they were trying to
out Mac the Mac on a much more limited architecture.
> In fact, there were *very* few high-level languages for the 8-bit
> Apple II that generated object code (as opposed to an interpretive
> code), and that approach, if followed in a simplistic way, leads
> to a very slow compiler. (As opposed to the Digitek approach, based
> on SDS 940 POPs, which expanded speed critical POPs as macros, making
> for a very fast, small compiler.)
True. Kyan Pascal comes to mind as well - I think Willi even has the
source code to the compiler...
> > The Pascal compiler in Apple Pascal was self hosting, although because the
> > OS itself was a collection of segment procedures one had to know what
> > they were doing to replace it.
> >
> > Of course, since the P-system was portable, it would have made more
> > sense to build the system on a larger computer than an Apple II :-)
>
> And I supposed that that was how it was made.
Almost certainly, since the source to the P-code engine is written in
UCSD adaptable assembler. Once you have that though, you can quite
conceivably rebuild the entire system on an Apple II.
> BTW, if the Pascal system had been profiled, and critical parts macro
> expanded, it could have been a *much* faster system. Then, of course,
> the tools to do that could have been made avaialable to users so that
> they could speed up their applications considerably, too.
After discussing those concepts with you a while back, I've put such a
project on my back burner, although optimising the OS itself hasn't
really appealed, since the prospect of changing its code size is
worrisome.
The biggest performance problem with the Pascal system was character
device IO, since such a request went through the p-code based OS to a
pluggable device mapper, and then onto the actual device driver.
Replacing the console driver with a direct-to-80 column card driver in
assembly made massive performance differences.
Of course, the code execution speed was never stellar, but not really
that much slower than compiled Applesoft, with the exception of the IO
issues mentioned above.
Matt