Conference
Self-Sustaining Systems
About: Self-Sustaining Systems is an academic conference. The conference publishes majorly in the area(s): Compiler & Programming language implementation. Over the lifetime, 14 publications have been published by the conference receiving 156 citations.
Topics: Compiler, Programming language implementation, Smalltalk, Machine code, Very high-level programming language
Papers
15 May 2008
TL;DR: The Lively Kernel is a complete platform for Web programming written in JavaScriptTM using graphics available in leading browsers and able to save its creations, and even clone itself, onto Web pages, and defines a new form of dynamic content on the Web.
Abstract: The Lively Kernel is a complete platform for Web programming written in JavaScriptTM using graphics available in leading browsers. A widget set built from these elements provides a user interface kit, and the widget set is also extensible. A window-based IDE allows users to edit their applications and even the system itself.When a user visits the Lively Kernel page,
http://research.sun.com/projects/lively/index.xhtml
the kernel loads and runs with no installation whatsoever. The user can immediately construct new objects or applications and manipulate the environment.
The Lively Kernel is able to save its creations, and even clone itself, onto Web pages. In so doing, it defines a new form of dynamic content on the Web. Moreover, since it can run in today's browsers, it promises that wherever there is the Internet, there can be authoring of Web content.
Beyond its utility, the simplicity and completeness of the Lively Kernel make it a practical benchmark of system complexity, and a flexible laboratory for exploring new approaches to security, simplified graphics, and Web technologies in general.
Note to Readers: As of this writing, the Lively Kernel runs with no installation in the Firefox 3 beta and Safari 3 browsers. We are preparing an applet that will allow it to run in other browsers until their internal graphics are adequate for install-free operation
56 citations
15 May 2008
TL;DR: The current Spy codebase is able to run a small set of benchmarks that demonstrate performance superior to many similar Smalltalk VMs, but which still run slower than in Squeak itself.
Abstract: We report on our experiences with the Spy project, including implementation details and benchmark results. Spy is a re-implementation of the Squeak (i.e. Smalltalk-80) VM using the PyPy toolchain. The PyPy project allows code written in RPython, a subset of Python, to be translated to a multitude of different backends and architectures. During the translation, many aspects of the implementation can be independently tuned, such as the garbage collection algorithm or threading implementation. In this way, a whole host of interpreters can be derived from one abstract interpreter definition. Spy aims to bring these benefits to Squeak, allowing for greater portability and, eventually, improved performance. The current Spy codebase is able to run a small set of benchmarks that demonstrate performance superior to many similar Smalltalk VMs, but which still run slower than in Squeak itself. Spy was built from scratch over the course of a week during a joint Squeak-PyPy Sprint in Bern last autumn.
35 citations
15 May 2008
TL;DR: This work attempts to untangle Smith's original account of procedural reflection and make it accessible to a new and wider audience, and uses its terminological framework to analyze other metaprogramming and reflective approaches, especially those that came afterwards.
Abstract: A reflective programming language provides means to render explicit what is typically abstracted away in its language constructs in an on-demand style. In the early 1980's, Brian Smith introduced a general recipe for building reflective programming languages with the notion of procedural reflection . It is an excellent framework for understanding and comparing various metaprogramming and reflective approaches, including macro programming, first-class environments, first-class continuations, metaobject protocols, aspect-oriented programming, and so on. Unfortunately, the existing literature of Brian Smith's original account of procedural reflection is hard to understand: It is based on terminology derived from philosophy rather than computer science, and takes concepts for granted that are hard to reconstruct without intimate knowledge of historical Lisp dialects from the 1960's and 1970's. We attempt to untangle Smith's original account of procedural reflection and make it accessible to a new and wider audience. On the other hand, we then use its terminological framework to analyze other metaprogramming and reflective approaches, especially those that came afterwards.
18 citations
27 Sep 2010
TL;DR: The design of Konoha is presented, a statically typed object-oriented scripting language that is modeled to have the same or similar scripting experience with dynamic languages, by emulating major dynamic behaviors, such as duck typing and eval function.
Abstract: This paper presents the design of Konoha, a statically typed object-oriented scripting language. Konoha is modeled to have the same or similar scripting experience with dynamic languages, by emulating major dynamic behaviors, such as duck typing and eval function. At the same time, its "run anytime" complier enables execution of incomplete programs without the compilation stop by the static type checker. Konoha was written in C from scratch, and is available as open-source software. We will show scripting experiences, as well as better performance.
11 citations
15 May 2008
TL;DR: The motivation for this bootstrap strategy is explained, some of the technical details involved in achieving it are discussed, and the technical and social effects that it has had on the development of the implementation and on its user and developer community are assessed.
Abstract: This paper describes the development of an implementation of Common Lisp with the peculiarity that it is bootstrappable neither solely from itself, nor from some other language, but rather from a variety of other Common Lisp implementations. We explain the motivation for this bootstrap strategy, discuss some of the technical details involved in achieving it, and attempt to assess the technical and social effects that it has had on the development of the implementation and on its user and developer community.
10 citations
Performance Metrics
| Year | Papers |
|---|---|
| 2010 | 6 |
| 2008 | 8 |