TL;DR: The PyPy project seeks to prove both on a research and a practical level the feasibility of constructing a virtual machine (VM) for a dynamic language in aynamic language - in this case, Python.
Abstract: The PyPy project seeks to prove both on a research and a practical level the feasibility of constructing a virtual machine (VM) for a dynamic language in a dynamic language - in this case, Python. The aim is to translate (i.e. compile) the VM to arbitrary target environments, ranging in level from C/Posix to Smalltalk/Squeak via Java and CLI/.NET, while still being of reasonable efficiency within these environments.A key tool to achieve this goal is the systematic reuse of the Python language as a system programming language at various levels of our architecture and translation process. For each level, we design a corresponding type system and apply a generic type inference engine - for example, the garbage collector is written in a style that manipulates simulated pointer and address objects, and when translated to C these operations become C-level pointer and address instructions.
TL;DR: AspectS as discussed by the authors is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment, based on concepts of AspectJ, it extends the Smalltalk metaobject protocol to accommodate the aspect modularity mechanism.
Abstract: AspectS is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment. Based on concepts of AspectJ it extends the Smalltalk metaobject protocol to accommodate the aspect modularity mechanism. In contrast to systems like AspectJ, weaving and unweaving in AspectS happens dynamically at runtime, on-demand, employing metaobject composition. Instead of introducing new language constructs, AspectS utilizes Smalltalk itself as its pointcut language. AspectS benefits from the expressiveness of Smalltalk, its elegance and power.
TL;DR: The motivation, design and semantics of squeak are presented, and how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces are discussed.
Abstract: Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak. The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics.
TL;DR: This book is the best documentation of Squeak for those purposes and provides detailed tours of the architecture of a virtual machine (including tradeoffs), porting it to multiple platforms and extensions mechanisms.
Abstract: From the Publisher:
The only advanced book on Squeak, an important up-and-coming programming language, and includes an introductory chapter to help those who know programming but not Squeak. Squeak is the only tool that allows users to explore computer music, digital sound, advanced user interfaces, 3-D computer graphics, Flash animation, and virtual machine creation (such as for embedded systems) across Windows, Macintosh, and Linux. This book is the best documentation of Squeak for those purposes. Provides details on 3-D Computer Graphics, Advanced UI, Streaming Audio, and other multimedia topics. Provides detailed tours of the architecture of a virtual machine (including tradeoffs), porting it to multiple platforms and extensions mechanisms. Includes description of the efforts of an Open Source Community. Appropriate for all professionals in Advanced Object-Oriented Programming, Multimedia Systems and Developments, and Software Engineering Special-Topics: Open-Source, and Embedded Systems fields as an authoritative guide to the use of Squeak
TL;DR: AspectS is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment that extends the Smalltalk metaobject protocol to accommodate the aspect modularity mechanism.
Abstract: AspectS is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment. Based on concepts of AspectJ it extends the Smalltalk metaobject protocol to accommodate the aspect modularity mechanism. In contrast to systems like AspectJ, weaving and unweaving in AspectS happens dynamically at runtime, on-demand, employing metaobject composition. Instead of introducing new language constructs, AspectS utilizes Smalltalk itself as its pointcut language. AspectS benefits from the expressiveness of Smalltalk, its elegance and power.