# Install malbolge with Homebrew

Deliberately difficult to program esoteric programming language. Version 0.1.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:malbolge
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install malbolge
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:malbolge
- **Package manager:** Homebrew
- **Version:** 0.1.0
- **Source summary:** Deliberately difficult to program esoteric programming language
- **Homepage:** <https://esoteric.sange.fi/orphaned/malbolge/README.txt>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- malbolge (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.1.0
## Project history and usage

Malbolge is an esoteric programming language by Ben Olmstead, deliberately designed to be difficult to program in. The Homebrew package provides a `malbolge` interpreter for a language whose original specification describes a trinary virtual machine, self-modifying code, intentionally hostile instruction encoding, and public-domain source.

### Project history

The original Malbolge material is dated 1998 and includes `malbolge.c`, `nop.mal`, and a language document titled "Malbolge '98, Ben Olmstead." In that document, Olmstead says existing esolangs were difficult for different reasons but none had been specifically designed to be difficult to program in, so Malbolge was created for that goal.

The orphaned 2004 edition README says a long time had passed since release, useful trivial programs had emerged, and the package bundled the original interpreter with a Perl interpreter plus small example programs by later contributors. That 2004 bundle is the basis for much of the small command-line distribution history around the language.

### Adoption history

Malbolge's adoption is cultural rather than practical. It became a stock example in esoteric language collections because the original document could not even provide a normal example program and stated that no Malbolge programs had yet been written.

Later bundled examples such as `answer.mal`, `copy.mal`, and a 99 Bottles program show how the community treated it as a puzzle language. Package managers carry interpreters like this less for production software and more to preserve runnable artifacts from programming-language folklore.

### How it is used

Usage is interpreter-oriented: pass a `.mal` program to the `malbolge` executable and observe its input/output behavior. The official specification defines memory, trits, registers A/C/D, instruction decoding, input/output, and the stop instruction rather than a conventional application configuration.

### Why package nerds care

Malbolge is package-nerd catnip because it is tiny, public domain, historically odd, and easy to build as a single interpreter while representing a famous edge case in language implementation. It also tests whether package collections preserve playful and archival software, not just infrastructure.

### Timeline

- 1998: Ben Olmstead's Malbolge interpreter and specification are published.
- 2004: The orphaned Malbolge bundle adds a Perl interpreter and later example programs.
- 2004: The README records useful trivial programs emerging after the original release.

### Related projects

- Related esoteric languages mentioned by the original document include INTERCAL, Brainfuck, Befunge, FALSE, TWDL, RUBE, and tri-INTERCAL.

### Sources

- <https://esoteric.sange.fi/orphaned/malbolge/>
- <https://esoteric.sange.fi/orphaned/malbolge/README.txt>
- <https://esoteric.sange.fi/orphaned/malbolge/malbolge.c>
- <https://esoteric.sange.fi/orphaned/malbolge/malbolge.txt>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Combined YAML source

View the package source record on GitHub. [combined/malbolge.yml](https://github.com/mxcl/pkgdb/blob/main/combined/malbolge.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
