I believe CompileIt! contained its own 68k compiler (think: before
Intel there was PPC, before PPC there was 68k). It did some basic
compiling for things like chunk expressions, and then it basically
tapped into the "symbol table" which was a series of traps in MacOS
that correlated to OS APIs. Unfortunately (for CompileIt!) a couple of
things happened: PPC came out which apparently was much harder to work
with, and MacOS stopped using this method of trapping OS calls. Thus,
much of what made CompileIt! possible had gone away.
In short, the approach CompileIt! used became impractical as the
processor and OS became more advanced. And the faster the CPU got, the
less it mattered if you compile "pure" xTalk. For example, chunk
expressions are already plenty fast for 99% of what we use them for,
and simply compiling in C isn't as much of a magic bullet as it may
seem. Often a better algorithm is more useful than changing to
compiled code, especially with the birth of arrays and "repeat for
each" loops in Revolution.
Then there's the other big thing with Rev ... cross-platform.
CompileIt! was quite a feat, but it may never have happened if it
needed to cross-compile for Windows.
I certainly wouldn't put it past anyone to create something similar,
but the landscape has drastically changed. Compiling HyperTalk in
MacOS 8 / 9 is a distant cousin of creating anything useful for
MacOSX / Windows XP / etc.
I know a few people have created externals for tapping into arbitrary
DLLs or other OS libraries in the past, but these projects never seem
to gain a lot of momentum for various reasons.
FWIW, and certainly just my recollection =). This from a big fan of
the product - I quite literally got my first taste of programming
outside of HyperTalk by using CompileIt!. It wasn't until years later
that I starting mucking around with "real" low level languages such as
C.
I would really like to know how compileit wored. My guess was that
it did some form of xtalk to c sourse translation and then compiled
it. But maybe i am wrong... Maybe ti went out to some public
smalltalk compiler. Anyone know? The kinds of system events - to
messages thingsm i have been asking for would never come from
anything like compile-it... But several times back in the day, i
used it to speed up a repeditive process loop. Orders of magnitude
speed enhancement! (and, yes, everyone take our vitamins!) randall
-----Original Message-----
From: "Joe Lewis Wilkins" <pepe...@cox.net>
To: "How to use Revolution" <use-revolution@lists.runrev.com>
Sent: 1/19/2009 2:41 PM
Subject: Re: externals
Hi everyone,
I just got back from an out of town trip and, belatedly, learned of
Eric's demise. Wow! And he was 14 years younger than I am. Such a
pity. Everyone looses so very much when one is taken in their prime;
and Eric, based on his command of just about everything he did, WAS in
his prime. I wish I had been fortunate enough to have met him. I'm
sure he'll be helping others from a better place than this.
A brief comment relating to this thread: I just wish we had an
application like Compile-It™ for Rev. Too much to ask? Then we could
create cross-platform externals as we did so easily, but just for HC.
It would seem that, using the Compile-It™ source as a foundation would
not make this an insurmountable task. But I guess I'm being a bit
naive with this conjecture.
Let's hope that none of our other elder Revers join Eric too very
soon. Stay healthy my friends. Take your vits and exercise. Do push-
aways wih frequency.
Joe Wilkins
On Jan 19, 2009, at 1:17 PM, Brian Yennie wrote:
Randall,
Unfortunately it seems you are looking for a high-level API to take
care of a very low level job. There simply isn't an API for
everything. You are probably going to have to get your hands dirty
in C if this is your goal. If you know the OS APIs you want to tap
into, you could work on building externals in C. If you don't, time
to do some research =). You will definitely need to build separate
externals for each operating system as well.
Maybe not what you were hoping for, but I hope that helps.
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution