AppleScript

@article{Cook2007AppleScript,
  title={AppleScript},
  author={William R. Cook},
  journal={Proceedings of the third ACM SIGPLAN conference on History of programming languages},
  year={2007}
}
  • W. Cook
  • Published 9 June 2007
  • Computer Science
  • Proceedings of the third ACM SIGPLAN conference on History of programming languages
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… 

Figures from this paper

End-user software customization by direct manipulation of tabular data
TLDR
This work introduces data-driven customization, a new way for end users to extend software by direct manipulation without doing traditional programming, by augmenting existing user interfaces with a table view showing the structured data inside the application.
JavaScript: the first 20 years
TLDR
This paper tells the story of the creation, design, evolution, and standardization of the JavaScript language over the period of 1995--2015.
A soup of objects: convenience interfaces for accessing domain objects in a global object graph
TLDR
The architecture is based on a single shared runtime object graph spanning all applications, and the described mechanisms are evaluated by using the resulting environment for over 13 months for everyday productivity tasks.
History of Logo
TLDR
Logo is more than a programming language; it is a learning environment where children explore mathematical ideas and create projects of their own design that encompassed a widening scope that included natural language, music, graphics, animation, story telling, turtle geometry, robots, and other physical devices.
Lively Fabrik A Web-based End-user Programming Environment
TLDR
Lively Fabrik is a Web-based general-purpose end-user programming environment that empowering end-users to create interactive Web content entirely within their Web browsers using the Lively Kernel.
On Planning an Evaluation of the Impact of Identifier Names on the Readability and Maintainability of Programs
TLDR
In this paper a study is proposed in which to evaluate the impact of sentence case identifiers in practice, and it is intuition that a solution exists which is superior to both the previous ones from the point of view of usability.
On planning an evaluation of the impact of identifier names on the readability and quality of smalltalk programs
  • Mircea Lungu, Jan Kurs
  • Computer Science
    2013 2nd International Workshop on User Evaluations for Software Engineering Researchers (USER)
  • 2013
TLDR
In this paper a study is proposed in which to evaluate the impact of sentence case identifiers in practice, and it is intuition that a solution exists which is superior to both the previous ones from the point of view of usability.
Ubiquity: Designing a Multilingual Natural Language Interface
TLDR
The design and implementation of Ubiquity, a multilingual textual interface for the Firefox browser developed at Mozilla Labs, are described and the new natural language parser is described, reflecting the importance of offering equivalent user experiences for speakers of different languages.
Efficient Testing of Recovery Code Using Fault Injection
TLDR
A library-level fault injection engine that enables the productive use of fault injection for software testing, and a framework for writing precise triggers that inject desired faults, in the form of error return codes and corresponding side effects, at the boundary between applications and libraries.
Atomate it! end-user context-sensitive automation using heterogeneous information sources on the web
TLDR
A next-generation personal information assistance engine that lets end-users delegate to it various simple context- and activity-reactive tasks and reminders, and Atomate's open architecture and world model easily accommodate new information sources and actions via the addition of feeds and web services.
...
...

References

SHOWING 1-10 OF 48 REFERENCES
AppleScript: The Missing Manual
TLDR
Through dozens of hands-on scripting examples, this comprehensive guide ensures that anyone including novices can learn how to control Mac applications in timesaving and innovative ways.
Yacc: Yet Another Compiler-Compiler
TLDR
Yacc provides a general tool for describing the input to a computer program, together with code to be invoked as each such structure is recognized, and turns such a specification into a subroutine that handles the input process.
A Proposal for Making Eiffel Type-Safe
  • W. Cook
  • Computer Science
    Comput. J.
  • 1989
TLDR
Type attributes, or generic parameters with default values, are suggested as a replacement for most cases of declaration by association, and the special association type used to express type recursion cannot be explained using type attributes, and appears to be a truly novel construct for typing object-oriented programs.
F-bounded polymorphism for object-oriented programming
TLDR
F-bounded quantification is introduced to provide a basis for typed polymorphic functions in object-oriented languages and is a general form of polymorphism that seems useful whenever recursive type definitions and subtyping are used.
The essence of data access in Cω: the power is in the dot!
TLDR
The essence of the data access features of Cω, an experimental programming language based on C# currently under development at Microsoft Research, are described to identify, exemplify and formalize their essential features.
Z - the 95% program editor
TLDR
This paper describes a text-oriented display editor called Z, which considerably simplifies the design of the editor and presents the user with a simple but powerful model of program structure.
EAGER: programming repetitive tasks by example
TLDR
Abstract Eager utilizes a new interface technique, called anticipation, to show how it has generalized: when it detects a repetitive activity, it highlights menus and objects on the screen to indicate what it expects the user to do next.
Interfaces for strongly-typed object-oriented programming
TLDR
A system of explicit interfaces for object-oriented programming that provides the benefits of module interfaces found in languages like Ada and Modula-2 while preserving the expressiveness that gives untyped object- oriented languages like Smalltalk their flexibility is developed.
AppleScript: The Definitive Guide
AppleScript: The Definitive Guide explores and teaches the language from the ground up. If you're a beginner and want to learn how to write your first script or just understand what the excitement is
Object-Oriented Programming Versus Abstract Data Types
  • W. Cook
  • Computer Science
    REX Workshop
  • 1990
This tutorial collects and elaborates arguments for distinguishing between object-oriented programming and abstract data types. The basic distinction is that object-oriented programming achieves data
...
...