ABSTRACT
AppleScript is a scripting language and environment for the Mac OS. Originally conceived in 1989, AppleScript allows end users to automate complex tasks and customize Mac OS applications. To automate tasks, AppleScript provides standard programming language features (control flow, variables, data structures) and sends Apple Events to invoke application behavior. Apple Events are a variation on standard remote procedure calls in which messages can identify their arguments by queries that are interpreted by the remote application. This approach avoids the need for remote object pointers or proxies, and reduces the number of communication round trips, which are expensive in high latency environments like the early Macintosh OS. To customize an application that uses AppleScript's Open Scripting Architecture, users attach scripts to application objects; these scripts can then intercept and modify application behavior. AppleScript was designed for casual users: AppleScript syntax resembles natural language, and scripts can be created easily by recording manual operations on a graphical interface. AppleScript also supported internationalization in allowing script to be presented in multiple dialects, including English, Japanese, or French. Although the naturalistic syntax is easy to read, it can make scripts much more difficult to write. Early adoption was hindered by the difficulty of modifying applications to support Apple Events and the Open Scripting Architecture. Yet AppleScript is now widely used and is an essential differentiator of the Mac OS. AppleScript's communication model is a precursor to web services, and the idea of embedded scripting has been widely adopted.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
Gavin Bierman, Erik Meijer, and Wolfram Schulte. The essence of data access in cω. In European Conference on Object-Oriented Programming. Springer Verlag, 2005.
|
| |
4
|
Don Box, David EhneBuske, Gopal Kakivaya, Andrew Layman, Noah Mendelsohn, Henrik Frystyk Nielson, Satish Thatte, and Dave Winer. Simple object access protocol 1.1. http://www.w3.org/TR/SOAP.
|
 |
5
|
|
 |
6
|
Peter Canning , William Cook , Walter Hill , Walter Olthoff , John C. Mitchell, F-bounded polymorphism for object-oriented programming, Proceedings of the fourth international conference on Functional programming languages and computer architecture, p.273-280, September 11-13, 1989, Imperial College, London, United Kingdom
[doi> 10.1145/99370.99392]
|
 |
7
|
P. S. Canning , W. R. Cook , W. L. Hill , W. G. Olthoff, Interfaces for strongly-typed object-oriented programming, Conference proceedings on Object-oriented programming systems, languages and applications, p.457-467, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
8
|
Bill Cheeseman. Applescript sourcebook. http://www.AppleScriptSourcebook.com.
|
 |
9
|
|
| |
10
|
Roberto Chinnici, Martin Gudgin, Jean-Jacques Moreau, and Sanjiva Weerawarana. Web Services Description Language Version 1.2, July 2002. W3C Working Draft 9.
|
| |
11
|
Apple Computer. Inside Macintosh: Interraplication Communication. Addison-Wesley, 1991.
|
| |
12
|
|
| |
13
|
Apple Computer. ichat 2.0 dictionary. FooDoo Lounge web site by Richard Morton, 2002--2005.
|
| |
14
|
|
| |
15
|
|
| |
16
|
|
 |
17
|
William R. Cook, Interfaces and specifications for the Smalltalk-80 collection classes, conference proceedings on Object-oriented programming systems, languages, and applications, p.1-15, October 18-22, 1992, Vancouver, British Columbia, Canada
|
 |
18
|
|
 |
19
|
W. Cook , J. Palsberg, A denotational semantics of inheritance and its correctness, Conference proceedings on Object-oriented programming systems, languages and applications, p.433-443, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
20
|
William R. Cook and Victor Law. An algorithm editor for structured design (abstract). In Proc. of the ACM Computer Science Conference, 1983.
|
 |
21
|
|
| |
22
|
Allen Cypher , Daniel C. Halbert , David Kurlander , Henry Lieberman , David Maulsby , Brad A. Myers , Alan Turransky, Watch what I do: programming by demonstration, MIT Press, Cambridge, MA, 1993
|
| |
23
|
|
| |
24
|
|
| |
25
|
Warren Harris. Abel posthumous report. HP Labs, 1993.
|
| |
26
|
Apple Computer Inc. Scripting interface guidelines. Technical Report TN2106, Apple Computer Inc.
|
| |
27
|
Apple Computer Inc. HyperCard User's Guide. Addison Wesley, 1987.
|
| |
28
|
|
| |
29
|
Steven C. Johnson. Yacc: Yet another compiler compiler. In UNIX Programmer's Manual, volume 2, pages 353--387. Holt, Rinehart, and Winston, New York, NY, USA, 1979.
|
| |
30
|
|
| |
31
|
|
| |
32
|
Object Management Group. OMG Unified Modeling Language Specification Version 1.5, March 2003.
|
 |
33
|
|
| |
34
|
Trygve Reenskaug. Models --- views --- controllers. Technical report, Xerox PARC, December 1979.
|
| |
35
|
|
 |
36
|
Lynn Andrea Stein , Henry Lieberman , David Ungar, A shared view of sharing: the treaty of Orlando, Object-oriented concepts, databases, and applications, ACM, New York, NY, 1989
[doi> 10.1145/63320.66470]
|
 |
37
|
David Ungar , Randall B. Smith, Self: The power of simplicity, Conference proceedings on Object-oriented programming systems, languages and applications, p.227-242, October 04-08, 1987, Orlando, Florida, United States
|
 |
38
|
|
 |
39
|
|
|