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

Reply via email to