Mach-O MacPython IDE!!!

Well, since I noticed Jack had gotten the WASTE module compiling and linking under command-line Mach-O Python in the CVS, I decided to take another stab at getting the IDE up and running as a Mach-O bundle.

After downloading WASTE, putting it in the right place (as mentioned in the comment in setup.py in CVS) and running ranlib on the libWASTE.a file, I was able to get the WASTE module to compile and link. So far so good.

Then, I dropped PythonIDEMain.py on the Python.app. Error on MacOS.EnableAppSwitch. No problem, just comment it out. I was able to get as far as macresource.need before having tough problems.

It turns out that while os.path.join and the like create '/asdf/zxcv/wqr' slash delimited strings, the code that converts a python string into a C FSRef (? or FSSpec?) needs ':' delimited strings. Or the Carbon library itself needs colon delimited strings. I didn't look into it too much except to determine that slash delimited path strings were the problem. Anyway, I wrote an awful hack in macresource.py that converts any slash delimited paths to colon delimited and allows the IDE to get up and running!!!

There are caveats, however. I had to comment out quite a few more MacOS.EnableAppSwitch calls as well as the call that installs the Console and Output windows in the IDE. But I only worked on it for about an hour, and already, I can create new python files, execute them (output goes to the Console application), use the module browser, see nice traceback windows, and bring up a post-mortem debugger! Awesome.

Here are some screenshots:


Apple just released AppleScript Studio

Apple just released AppleScript Studio in the December 2001 Developer Tools update! Get it from Apple.

If you haven't heard of it, AppleScript Studio is Apple's integration of a few technologies. First, they extended Project Builder to edit, format, color, and debug AppleScripts. Then, they wrote a terminology dictionary to give AppleScript the ability to manipulate Cocoa objects. Finally, they modified Interface Builder to allow the developer to hook up a Cocoa widget with an AppleScript "handler".

Several of us at my company have been eagerly awaiting this release. It's an interesting hybrid application of all the technologies Apple now controls -- some Apple projects, and some NeXT projects. Also, it seems to revive a lot of the missing rapid development possibilities left untapped by the demise of HyperCard -- all that is missing is an Object Database.

More to come as I explore the possibilities embodied in this exiting new release.