# Oaklisp

> portable object-oriented Scheme

**Wikidata**: [Q7074171](https://www.wikidata.org/wiki/Q7074171)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Oaklisp)  
**Source**: https://4ort.xyz/entity/oaklisp

## Summary
Oaklisp is a programming language that implements a portable, object-oriented variant of the Scheme language. It was designed with influences from the languages *Smalltalk*, *T*, and *Scheme*, combining object-oriented programming paradigms with dynamic and strong typing. First developed in 1986, Oaklisp is classified as an object-based language and is available as part of the Debian stable software repositories.

## Key Facts
- Oaklisp was created in **1986**.
- It is an **object-based language** and a **programming language**.
- It is influenced by **Smalltalk**, **T**, and **Scheme**.
- It employs **dynamic typing** and **strong typing** disciplines.
- Its primary programming paradigm is **object-oriented programming**.
- Oaklisp is described as a **portable object-oriented Scheme**.
- It is packaged in **Debian stable** under the name `oaklisp`.
- It is tracked by **Repology** under the project name `oaklisp`.
- Oaklisp has a **sitelink count** of 1 on Wikidata.
- It was historically indexed under **Microsoft Academic ID**: 2780876988 (now discontinued).
- It is associated with **Freebase ID**: /m/042tk1.

## FAQs

### What is Oaklisp?
Oaklisp is a programming language that merges object-oriented programming with the syntax and semantics of Scheme. It is portable and supports both dynamic and strong typing disciplines.

### When was Oaklisp created?
Oaklisp was first developed in **1986**.

### What programming paradigms does Oaklisp support?
Oaklisp is primarily based on **object-oriented programming** but retains the functional programming roots of Scheme.

### What type systems does Oaklisp use?
It uses both **dynamic typing** and **strong typing**, allowing for flexible yet safe programming practices.

### Which languages influenced Oakl: Oaklisp?
Oaklisp draws influence from **Smalltalk**, **T**, and **Scheme**, integrating concepts from these languages into its design.

### Is Oaklisp available in open-source package managers?
Yes, Oaklisp is distributed in the **Debian stable** package repository under the package name `oaklisp`.

### What is Oaklisp used for?
Oaklisp is used as a research and educational tool in programming language design and implementation, particularly in the context of object-orientation and language extensibility.

### Is Oaklisp still actively developed?
While not under active development like mainstream languages, Oaklisp remains available in open repositories and continues to be of interest in academic and historical contexts.

## Why It Matters
Oaklisp represents a unique synthesis of object-oriented programming and the Scheme dialect of Lisp. It played a role in exploring how object-orientation could be integrated into functional programming languages. Its design influenced later developments in language research and demonstrated the feasibility of combining paradigms that were traditionally kept separate. As a historical artifact, Oaklisp contributes to the broader understanding of programming language evolution and design.

## Notable For
- Being a **portable implementation** of object-oriented Scheme.
- Incorporating **object-orientation into a functional language** structure.
- Being influenced by **Smalltalk**, **T**, and **Scheme**, blending their features.
- Supporting both **dynamic and strong typing**.
- Being included in the **Debian** stable software repository.
- Having a strong **typing discipline** and a clear **object-based** structure.

## Body

### History
Oaklisp was developed in **1986** as part of the exploration into integrating object-oriented programming with Scheme. It was designed to be a hybrid language, combining the flexibility of Scheme with the object-modeling capabilities of languages like Smalltalk. This made it a research-oriented language focused on expressiveness and modularity.

### Influences and Design
The language draws from three major programming language traditions:
- **Smalltalk**, known for its pure object-orientation.
- **T**, a dialect of Scheme that introduced lexical scoping and efficient compilation.
- **Scheme**, the base language from which Oaklisp is derived.

These influences are evident in its type system and object model, which support both **dynamic** and **strong typing**.

### Typing and Language Design
Oaklisp supports **dynamic** and **strong typing**, allowing for runtime type evaluation and compile-time safety. This dual-typing discipline enables expressive and secure programming practices, making it suitable for experimental and academic use.

### Implementation and Distribution
Oaklisp is available in the **Debian stable** package repository under the name `oaklisp`. It is also indexed under the Repology project name `oaklisp`, indicating its presence in open software ecosystems.

### Typing Discipline
The language supports:
- **Dynamic typing**, where types are resolved at runtime.
- **Strong typing**, ensuring that operations on data are type-safe.

These properties make Oaklisp a flexible and robust language for research in programming language design.

### Programming Paradigm
Oaklisp is rooted in **object-oriented programming**, a paradigm that structures software as a composition of objects. This approach aligns with its Scheme-based syntax and allows for extensible and modular program design.

### Community and Ecosystem
Oaklisp is maintained in niche programming language communities and is primarily used in academic and experimental contexts. It is distributed under open-source licenses and is part of the Repology index, which tracks its availability across Linux distributions.

### Related Projects
Oaklisp is related to:
- **Smalltalk**, for its object-orientation.
- **T**, for its lexical scoping and efficiency.
- **Scheme**, for its base syntax and functional programming roots.

These relationships highlight the language's role in the evolution of hybrid language design.

### Legacy and Discontinued Indexing
Oaklisp was historically indexed under the **Microsoft Academic ID** (2780876988), which has since been discontinued, but its presence in repositories like **Freebase** and **Debian** ensures continued access for researchers and educators.