# Install snobol4 with Homebrew, dnf, MacPorts, Nix, zypper

String oriented and symbolic programming language. Version 2.3.4 via Homebrew; verified 2026-05-12.

## Install

```sh
sudo av install brew:snobol4
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install snobol4
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install snobol4
```

  Evidence: MacPorts ports tree: lang/snobol4/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install snobol4
```

  Evidence: Fedora Rawhide package metadata: snobol4 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#snobol4
```

  Evidence: nixpkgs package indexes: pkgs/by-name/sn/snobol4/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install snobol4
```

  Evidence: openSUSE Tumbleweed package metadata: snobol4 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:snobol4
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/snobol4>
- **Version:** 2.3.4
- **Source summary:** String oriented and symbolic programming language
- **Homepage:** <https://www.regressive.org/snobol4/>
- **Repository:** <https://github.com/philbudne/csnobol4>
- **Upstream docs:** <https://www.regressive.org/snobol4/csnobol4/curr>
- **License:** BSD-2-Clause
- **Source archive:** <https://ftp.regressive.org/snobol/snobol4-2.3.4.tar.gz>
- **Last updated:** 2026-05-12T21:47:11Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- sdb-2.3.4 (cli)
- snobol4 (cli)
- snobol4-2.3.4 (cli)
- snopea (cli)
- snopea-2.3.4 (cli)
- sdb-2.3.4 (alias)
- snobol4 (alias)
- snobol4-2.3.4 (alias)
- snopea (alias)
- snopea-2.3.4 (alias)

## Dependencies

- openssl@4

## Uses from macOS

- libffi
- sqlite

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.4
- Package-manager updated: 2026-05-12
- Local data: ok
- Upstream repository: https://www.regressive.org/snobol4/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

CSNOBOL4 is Phil Budne's maintained C port of the original Bell Labs Macro SNOBOL4 implementation, preserving a historically important string-processing language in a form that modern Unix package managers can build and ship.

### Project history

The SNOBOL family began at Bell Labs in 1962, with SNOBOL4 work beginning in 1966 as a portable macro implementation written in SIL. The Regressive.org history page describes Macro SNOBOL4 as having been ported to more than 50 systems, making portability part of the language's culture from early on.

CSNOBOL4 carries that lineage forward by translating the Macro SNOBOL4 implementation to C. Its README describes it as a free port of the original SIL macro version, developed at Bell Labs, with dynamic typing, garbage collection, user data types, and on-the-fly compilation. The current release page lists CSNOBOL4 2.3.4 in April 2026 and notes support for the full SNOBOL4 language plus BLOCKS, SPITBOL, and other extensions.

### Adoption history

The supplied package metadata lists CSNOBOL4 as available through Homebrew, Fedora/dnf, MacPorts, Nix, and openSUSE/zypper. That distribution footprint is the practical reason many modern users encounter SNOBOL4: not as an active mainstream language, but as a preserved runtime available from the same package managers used for contemporary developer tools.

### How it is used

The package installs the `snobol4` interpreter along with related tools such as `sdb` and `snopea`. It is used for running legacy SNOBOL4 programs, studying pattern matching and symbolic programming, and experimenting with extensions documented in the CSNOBOL4 manual pages.

### Why package nerds care

CSNOBOL4 matters to package nerds because it is living software archaeology: a 1960s language implementation lineage maintained with modern C portability, manual pages, release notes, and a GitHub issue tracker. It gives package collections a compact way to keep a historically significant programming environment installable.

### Timeline

- 1962: First SNOBOL language developed at Bell Labs.
- 1966: Work on SNOBOL4 began with portability as an explicit goal.
- 1993: CSNOBOL4 copyright history begins in the official README.
- 2025: CSNOBOL4 2.3.3 released on the 50th anniversary of SNOBOL4 V3.11.
- 2026: CSNOBOL4 2.3.4 released on the 60th anniversary of SNOBOL4 first running on the IBM 7094.

### Related projects

- Related historical implementations include Macro SNOBOL4, SPITBOL, SITBOL, FASBOL, Catspaw SNOBOL4+, Minnesota SNOBOL4, and Oregon SNOBOL5, many of which are cataloged from the Regressive.org SNOBOL4 resources page.

### Sources

- <https://www.regressive.org/snobol4/>
- <https://www.regressive.org/snobol4/csnobol4/curr/>
- <https://www.regressive.org/snobol4/csnobol4/curr/CHANGES>
- <https://www.regressive.org/snobol4/csnobol4/curr/README>
- <https://www.regressive.org/snobol4/history.html>
- input.source_facts.package-manager


## Security Notes

generalized runtime or code generation signal.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** snobol4
- **Version Scheme:** 0
- **Revision:** 0
- **Conflicts With:** sdb
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - snobol4: normalized package name match | nixpkgs package indexes: pkgs/by-name/sn/snobol4/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - snobol4 - 2.3.1-8.fc44: normalized package name match | Fedora Rawhide package metadata: snobol4 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A port of Macro SNOBOL4 | https://www.regressive.org/snobol4/csnobol4/curr/
- dnf - snobol4-devel - 2.3.1-8.fc44: normalized package name match | Fedora Rawhide package metadata: snobol4-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for snobol4 | https://www.regressive.org/snobol4/csnobol4/curr/
- zypper - snobol4 - 2.3.1-2.9: normalized package name match | openSUSE Tumbleweed package metadata: snobol4 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A port of Macro SNOBOL4 | https://www.regressive.org/snobol4/csnobol4/curr/
- zypper - snobol4-devel - 2.3.1-2.9: normalized package name match | openSUSE Tumbleweed package metadata: snobol4-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for snobol4 | https://www.regressive.org/snobol4/csnobol4/curr/
- MacPorts - snobol4: normalized package name match | MacPorts ports tree: lang/snobol4/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [openssl@4](https://www.automicvault.com/pkg/brew/openssl-4/) - Runtime dependency declared by Homebrew.
- [gravity](https://www.automicvault.com/pkg/brew/gravity/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language, runtime.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language.
- [gnu-apl](https://www.automicvault.com/pkg/brew/gnu-apl/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language.
- [icon](https://www.automicvault.com/pkg/brew/icon/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, runtime.
- [latino](https://www.automicvault.com/pkg/brew/latino/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language.
- [lua](https://www.automicvault.com/pkg/brew/lua/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language.
- [minimal-racket](https://www.automicvault.com/pkg/brew/minimal-racket/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, runtime.
- [mosml](https://www.automicvault.com/pkg/brew/mosml/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, programming-language.
- [ruby](https://www.automicvault.com/pkg/brew/ruby/) - Local package facts share a topical domain. Shared terms: cli, interpreter, language, language-runtime, openssl.
- [urweb](https://www.automicvault.com/pkg/brew/urweb/) - Local package facts share a topical domain. Shared terms: cli, language, language-runtime, openssl, openssl-4.

## Combined YAML source

View the package source record on GitHub. [combined/snobol4.yml](https://github.com/automic-vault/db/blob/main/combined/snobol4.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
