OSA stands for Open Scripting Architecture. It provides an abstract
interface for applications to compile, execute, and manipulate scripts
without needing to know the details of the particular scripting
language. Scheme-OSA bridge furnishes a Scheme user with a means of
accessing the OS X multimedia and other resources from Apple and the
third parties - introducing graphics, scientific plotting, dialog
boxes, music, etc. into the world of Scheme language.
In theory several scripting languages already satisfy or will satisfy
practice Scheme-OSA relies mainly on the resources provided by
Applescript based applications.
In addition to its bridging functionality Scheme-OSA fulfills the role
of an Interactive Development Environment for Scheme; it provides
support for Unicode, UTF-8 and Rich Text Format - allowing the users
and developers of Scheme programs to immerse themselves into the world
of truly literate programming. It does not enforce any standard on the
users though: they are free to work in any style and format they wish
- including plain ASCII format if they choose so.
Lastly, Scheme-OSA attempts to become an experimental platform for the
R6RS Scheme standard. It provides some legacy interpreters with a
means of entering the R6RS mode from the R5RS mode. It also handles
one native R6RS interpreter (PLT R6RS) and one interpreter working in
ERR5RS mode (Larceny) - a cross between R5RS and R6RS. For the testing
purposes all those R6RS interpreters enter the Read-Evaluate-Print
Loop, from which a user can explore provided examples of Scheme code -
including multimedia oriented ones.
The provided examples demonstrate that a code written for Scheme-OSA
is not only portable between variety of certified interpreters but
also between the R5RS and R6RS modes. From this perspective their
richly formatted and Unicode aware code behave in a truly portable
fashion: "write once execute anywhere". But to achieve this some setup
The program runs only on Mac OS X, and it has been only compiled for
Power PC based systems. But I provide the Xcode source code tree, so
anyone can easily compile it in about one minute for the Intel based
system. But since I had no way of testing the outcome I cannot
guarantee that the compilation will actually work out of the box.
The following are the distribution files:
1. Compressed Scheme-OSA help files, size 0.78MB. This collection is
to be accessed from a running Scheme-OSA via OS X Help Viewer.
However, since these files are just regular HTML pages, they can also
be viewed in any web browser, without any loss of quality. Recommended
for those unlucky fellows that have no access to Mac OS X but yet are
curious about Scheme-OSA. But let me add that help files are not
substitution for the full documentation: there is another collection
of files distributed with Scheme-OSA - the startup and example files,
formatted in Rich Text Format.
2. Power PC binary for Mac OSX platform, size 1.54MB. Should work as
is, but setup is required. The included Help system has plenty of
advise and examples. Aside from the Help system the distribution
delivers a bunch of example libraries - all richly formatted, looking
good and being very informative. It is like having yet another help
system, but closer at hand, with focus on developer.
3. Source code of Scheme-OSA, with help and libraries, size 3.91MB.
This is for those who are willing to port it to the Intel based Mac
OSX, or to adapt it for some other specific means - not envisioned by
the author of this software. Compilation of the source code takes
less than a minute in Xcode. I apologize for not having it cross
compiled to "universal binary" (Power PC and Intel processor) myself
but - having no access to the latter - I refused to do it blindly,
with no means of testing.
Scheme-OSA depends on two third party pieces of software, OSAX - kind
of libraries of useful OSA (Applescript) utilities, such as OSA regexp
Download and install them. They should get installed (in no time) in
one of three places: ~/Library/ScriptingAddtions, /Library/
ScriptingAdditions, or /System/Library/ScriptingAdditions. Once there
the Scheme-OSA will find them when needed.
Your feedback is requested and your support is welcome. Have fun with
Thanks Jan for making it available at last.