Franz Achermann

Learn More
A namespace is a mapping from labels to values. Most programming languages support different forms of namespaces, such as records, dictionaries, objects, environments, packages and even keyword-based parameters. Typically only a few of these notions are first-class, leading to arbitrary restrictions and limited abstraction power in the host language.(More)
Although the term software component has become commonplace, there is no universally accepted definition of the term, nor does there exist a common foundation for specifying various kinds of components and their compositions. We propose such a foundation. The Piccola calculus is a process calculus, based on the asynchronous-calculus, extended with explicit(More)
When do we call a software development environment a composition environment? A composition environment must be built of three parts: i) a reusable component library, ii) a component framework determining the software architecture, and iii) an open and exible composition language. Most of the eeort in component technology was spent on the rst two parts. Now(More)
Piccola is a language for composing applications from software components. It has a small syntax and a minimal set of features needed for specifying different styles of software composition. The core features of Piccola are communicating agents, which perform computations, and forms, which are the communicated values. Forms are a special notion of(More)
Inter-language bridging is an important issue of scripting language design and implementation. Most of the popular languages such as Python, Perl, Tcl, and Ruby use a bridging approach based on wrappers that are written in the external language (usually C/C++) and serve as a glue layer between the languages. This allows a wide flexibility in defining the(More)