Smalltalk is considered as a design pearl and as a beacon in the realm of programming languages and programming environments. The 2009 edition of the International Workshop on Smalltalk Technologies (IWST '09) gathered approximately 70 people.
IWST has an In Cooperation agreement with ACM SIGPLAN. The workshop is therefore a SIGPLAN event, and selected papers are published in the ACM Digital library.
The goals of the workshop is to create a forum around advances and experience in Smalltalk. We welcomed contributions on all aspects, theoretical as well as practical, of Smalltalk related topics such as
• aspect-oriented programming,
• meta-programming,
• frameworks,
• interaction with other languages,
• implementation,
• new dialects or languages implemented in Smalltalk,
• tools,
• meta-modeling,
• design patterns,
• experience reports
The workshop was run over 6 sessions in two parallel tracks. We received 21 submissions. Among them, 19 were selected for a presentation and 17 were selected to appear in the ACM Digital Library. Each contribution was selected based on its quality, originality, and relevance of the contribution for the Smalltalk community. The papers accepted for a presentation but not included in the proceedings will remain available through the ESUGWebsite1. Each contribution was reviewed by 4 program committee members. IWST '09 has a strong international character. Authors of the selected papers come essentially from Europe and America (North and South): 16 authors are French, 11 Swiss, 12 Belgian, 8 German, 5 Argentinean, 3 Chilean, 2 Canadian and 1 from the United States.
Proceeding Downloads
Supporting incremental change in large system models
When reengineering large systems, software developers would like to assess and compare the impact of multiple change scenarios without actually performing these changes. A change can be effected by applying a tool to the source code, or by a manual ...
Diagnosis and semi-automatic correction of detected design inconsistencies in source code
In order to alleviate design decay, different program design documentation techniques are used for the specification and detection of design inconsistencies in code. However, these design documentation techniques do not always provide support for the ...
Lumière: a novel framework for rendering 3D graphics in Smalltalk
To render 3D graphics there is a number of different frameworks written in Smalltalk. While most of them provide powerful facilities, many of them are outdated, abandoned, undocumented or heavyweight.
In this paper we present Lumière, a novel ...
Meteoroid towards a real MVC for the web
Web development has moved from simple static pages to complex web applications, some of them resembling desktop ones. In most of these applications the web browser acts as thin-client (or a view) of the model that sits on the server. Despite the ...
NXTalk: dynamic object-oriented programming in a constrained environment
Dynamic programming languages offer high expressiveness and flexibility, improving programmer productivity. Still, making dynamic programming languages available for embedded systems is challenging because such environments are often constrained in ...
Maispion: a tool for analysing and visualising open source software developer communities
We present Maispion, a tool for analysing software developer communities. The tool, developed in Smalltalk, mines mailing list and version repositories, and provides visualisations to provide insights into the ecosystem of open source software (OSS) ...
Tackling software navigation issues of the Smalltalk IDE
The IDE used in most Smalltalk dialects, including Pharo, Squeak and Cincom Smalltalk, did not evolve significantly over the last years, if not to say decades. For other languages, for instance Java, the available IDEs made tremendous progress as ...
Experiments with pro-active declarative meta-programming
Program querying has become a valuable asset in the programmer's toolbox. Using dedicated querying languages, developers can reason about their source code in order to find errors, refactoring opportunities and so on. Within Smalltalk, the SOUL language ...
Object spaces for safe image surgery
Long-lived systems rely on reflective self-modification to evolve. Unfortunately, since such a system is at both ends of a causal loop, this means modifications that impact the reflective layer itself can be overly difficult to apply.
This paper ...
Evolving a reflective language: lessons learned from implementing traits
Traits are method groups that can be used to compose classes. They do not have a runtime existence and are conceptually folded into the classes that use them. Traits have been implemented in different languages. While implementing them in Smalltalk, our ...
Object-relational mapping with SqueakSave
Object persistence is an important aspect of application architectures and development processes. Different solutions in this field evolved over the last decades and new approaches are still subject to research. While object-oriented databases become ...
Dynamic synchronization: a synchronization model through behavioral reflection
In conventional software applications, synchronization code is typically interspersed with functional code, thereby impacting understandability and maintainability of the code base. At the same time, the synchronization defined statically in the code is ...
Why Smalltalk wins the host languages shootout
Integration of multiple languages into each other and into an existing development environment is a difficult task. As a consequence, developers often end up using only internal DSLs that strictly rely on the constraints imposed by the host language. ...
CLIC: a component model symbiotic with Smalltalk
Evolving object-oriented code such as replacing a part of a system, is not always as easy as it should be. This is because object-oriented languages do not enforce code modularisation. Component-oriented approches target this issue by expliciting ...
Language-shifting objects from Java to Smalltalk: an exploration using JavaConnect
Foreign-function interfaces enable programs in a host language to interoperate with programs written in another language and vice-versa. Two languages that feature such an interface to a common language can even interoperate by means of this common ...
Complex values in Smalltalk
Distinguishing between stateful objects and Values has long been recognized as fruitful. Values are universal context free abstractions that prevent side-effects and allow for a functional programming style. Though object-oriented programming languages ...
- Proceedings of the International Workshop on Smalltalk Technologies
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
IWST'16 | 27 | 25 | 93% |
Overall | 27 | 25 | 93% |