Lambda the Ultimate

inactiveTopic Piccola - A Small Composition Language
started 11/13/2001; 1:06:22 PM - last post 11/15/2001; 8:26:16 AM
Ehud Lamm - Piccola - A Small Composition Language  blueArrow
11/13/2001; 1:06:22 PM (reads: 488, responses: 1)
Piccola - A Small Composition Language
Piccola is an experimental language for composing applications from software components. Piccola is defined by a thin layer of syntactic sugar on top of a semantic core based on Milner's pi calculus. ("Piccola" stands for PI Calculus based COmposition LAnguage.)

Piccola is designed to make it easy to define high-level connectors for composing and coordinating software components written in other languages.

Piccola is a general purpose composition language. It provides basic abstractions to compose components, to invoke services, and to define new services. The runtime model of Piccola is that of communicating agents. Piccola’s small and expressive syntax comes from the fact that several concepts are unified by forms. Forms are immutable mappings from labels to values.

Forms represent interfaces, program fragments or scripts, contexts (agents in Piccola have two separate namespaces: the lexical scope and the dynamic namespace that represents the environment passed at invocation time), services and arguments for services.

The Piccola white paper exaplains some of the motivations for the design on Piccola, and some interesting possible uses.

Piccola was implemented in Java and in Squeak.


Previous LtU Pi-Calculus discussions:


Posted to general by Ehud Lamm on 11/13/01; 1:16:45 PM

Ehud Lamm - Re: Piccola - A Small Composition Language  blueArrow
11/15/2001; 8:26:16 AM (reads: 511, responses: 0)
They mention that Spiccola (the Squeak implementation) has a cool debugger for concurrent programs. Did anyone here play with this thing?