# Actor-Based Concurrent Language

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Actor-Based_Concurrent_Language
> Markdown URL: https://mediated.wiki/source/Actor-Based_Concurrent_Language.md
> Source: https://en.wikipedia.org/wiki/Actor-Based_Concurrent_Language
> Source revision: 1303148993
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Family of programming languages

**Actor-Based Concurrent Language** (**ABCL**) is a family of [programming languages](/source/Programming_language), developed in [Japan](/source/Japan) in the 1980s and 1990s.

## ABCL/1

*ABCL/1* (Actor-Based Concurrent Language) is a [prototype-based](/source/Prototype-based_programming) [concurrent programming language](/source/Concurrent_programming_language) for the **ABCL MIMD** system, created in 1986 by [Akinori Yonezawa](/source/Akinori_Yonezawa), of the *Department of Information Science* at the [University of Tokyo](/source/University_of_Tokyo).

ABCL/1 uses asynchronous [message passing](/source/Message_passing) among [objects](/source/Object_(programming)) to achieve concurrency. It requires [Common Lisp](/source/Common_Lisp). Implementations in [Kyoto Common Lisp](/source/Kyoto_Common_Lisp) (KCL) and [Symbolics](/source/Symbolics) Lisp are available from the author.

### ABCL/c+

An implementation of ABCL/c+ is available from the ACM.[1]

### ABCL/R

*ABCL/R* is an [object-oriented](/source/Object-oriented_programming) [reflective](/source/Reflection_(computer_science)) subset of ABCL/1, written by Professor Akinori Yonezawa of [Tokyo Institute of Technology](/source/Tokyo_Institute_of_Technology) in 1988.

#### ABCL/R2

*ABCL/R2* is a second generation version of ABCL/R, designed for the Hybrid Group Architecture. It was produced at the Tokyo Institute of Technology in 1992, and has almost all the functionality of ABCL/1. It is written in [Common Lisp](/source/Common_Lisp). As a reflective language, its programs can dynamically control their behavior, including scheduling policy, from within a user-process context.

## Further reading

- *ABCL: An Object-Oriented Concurrent System*, A. Yonezawa ed, MIT Press 1990

- *Reflection in an Object-Oriented Concurrent Language*, T. Watanabe et al., SIGPLAN Notices 23(11):306-315 (Nov 1988)

- *An Implementation of An Operating System Kernel using Concurrent Object Oriented Language ABCL/c+*, N. Doi et al. in ECOOP '88, S. Gjessing et al. eds, LNCS 322, Springer 1988

## References

1. **[^](#cite_ref-1)** [An Implementation of an Operating System Kernel Using Concurrent Object-Oriented Language ABCL/c+](https://dl.acm.org/doi/10.5555/646148.679055)

## External links

- [Official website](http://web.yl.is.s.u-tokyo.ac.jp/pl/abcl.html)

---
Adapted from the Wikipedia article [Actor-Based Concurrent Language](https://en.wikipedia.org/wiki/Actor-Based_Concurrent_Language) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Actor-Based_Concurrent_Language?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
