Welcome to the SALSA Programming Language!

SALSA (Simple Actor Language System and Architecture) is a general-purpose actor-oriented programming language, especially designed to facilitate the development of dynamically reconfigurable open distributed applications. Dynamically reconfigurable open systems are useful in grid computing, mobile computing, and internet computing applications.

In addition to the actor model's first-class support for unbounded concurrency, asynchronous message passing, and state encapsulation; SALSA follows a universal naming model with Internet- and Java-based support for actor migration and location-transparent message sending.  Furthermore, to facilitate coordination of concurrent activities, SALSA provides three high-level abstractions for programmers:  token-passing continuations, join continuations, and first-class continuations.

The syntax of the SALSA language is heavily influenced by Java. SALSA code is compiled into Java source code, then Java bytecode by a Java compiler. This provides for use of the entire Java API library and provides platform independence across all nodes on the SALSA network (a.k.a. World-Wide Computer).

Download the latest version

(9/27/2021) SALSA 1.1.6 Compiled Jar: salsa1.1.6.jar (built using Java ver 15.0.2)  Source: salsa1.1.6_src.zip

Try it out

SALSA Tutorial

SALSA Lite

(11/10/2009) SALSA 2.0.3 "salsa lite" Compiled Jar: salsa_lite2.0.3.jar Source: salsa_lite2.0.3src.tar

References

C. Varela and G. Agha. Programming Dynamically Reconfigurable Open Systems with SALSA. OOPSLA 2001 Intriguing Technology Track. ACM SIGPLAN Notices, 36(12):20-34, December 2001. (PS)(PDF)(BIB)


Worldwide Computing Laboratory

Department of Computer Science

Rensselaer Polytechnic Institute