# Install nickle with Homebrew, apk, apt, dnf, MacPorts, pacman

Desk calculator language. Version 2.108 via Homebrew; verified from local package data. Also installable with debian: sudo apt install nickle.

## Install

```sh
sudo av install brew:nickle
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nickle
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install nickle
```

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

### Linux

- apk (92%):

```sh
sudo apk add nickle
```

  Evidence: Alpine Linux edge package indexes: nickle from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install nickle
```

  Evidence: Debian stable package indexes: nickle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install nickle
```

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

- pacman (92%):

```sh
sudo pacman -S nickle
```

  Evidence: Arch Linux sync databases: nickle from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:nickle
- **Package manager:** Homebrew
- **Version:** 2.108
- **Source summary:** Desk calculator language
- **Homepage:** <https://www.nickle.org/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- nickle (alias)

## Install behavior

- Bottle: not available

## Freshness

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

Nickle is Bart Massey and Keith Packard's C-like arbitrary-precision desk-calculator language. It is both an interactive calculator and a small programming language for numerical and semi-numerical algorithms.

### Project history

Nickle was presented at the 2001 USENIX Annual Technical Conference in the Freenix track. The USENIX abstract describes it as a vaguely C-like language for numerical applications, useful as both a desk calculator and as a prototyping and implementation language, and notes that its history is an example of an idea becoming freely available software.

The upstream release directory shows public release artifacts from April 2001, including 1.99.x tarballs and RPMs, followed by the 2.00 tarball on October 27, 2001. The same release directory continues through 2.108, dated March 14, 2026, which Homebrew packaged as stable 2.108.

### Adoption history

Nickle has long-lived Unix packaging rather than broad hype-driven adoption. The av.db input lists Homebrew, MacPorts, Debian/Ubuntu, Fedora, Arch, and Alpine packaging. Homebrew analytics on July 1, 2026 reported 103 install-on-request events over 365 days, so Homebrew usage is small but the package persists across distributions.

Its cultural niche is the classic Unix power-user calculator: richer than `bc`, scriptable, arbitrary precision, C-like enough for programmers, and maintained by well-known X/Open Source developers rather than a large application vendor.

### How it is used

Users run `nickle` interactively for arbitrary-precision calculations, load files, define functions, inspect top-level history, and write small numerical programs. The tutorial walks from command invocation into datatypes, declarations, control flow, functions, namespaces, exceptions, continuations, threads, and mutual exclusion.

For package nerds, Nickle is interesting because it is a compact, old-school language runtime whose packaging footprint is tiny but unusually durable. It is the kind of tool people install when `bc` is too limited and a full Python/R/Julia stack is unnecessary.

### Timeline

- {'date': '2001-04-09', 'event': 'Upstream release directory shows Nickle 1.99.x tarballs and RPMs.'}
- {'date': '2001-06', 'event': 'Nickle paper published at USENIX ATC 2001.'}
- {'date': '2001-10-27', 'event': 'Nickle 2.00 tarball published.'}
- {'date': '2026-03-14', 'event': 'Nickle 2.108 release artifacts published.'}

### Related projects

- bc
- dc
- GNU bc
- calc

### Sources

- <https://formulae.brew.sh/api/formula/nickle.json>
- <https://keithp.com/cgit/nickle.git>
- <https://nickle.org/release/>
- <https://nickle.org/tutorial/>
- <https://www.usenix.org/conference/2001-usenix-annual-technical-conference/nickle-language-principles-and-pragmatics>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - nickle - 2.103: normalized package name match | Debian stable package indexes: nickle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | desk calculator language | https://nickle.org
- Ubuntu apt - nickle - 2.97build2: normalized package name match | Ubuntu 24.04 LTS package indexes: nickle from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | desk calculator language | https://nickle.org
- apk - nickle - 2.108-r0: normalized package name match | Alpine Linux edge package indexes: nickle from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Desk calculator language with C-like syntax | https://nickle.org/
- apk - nickle-dev - 2.108-r0: normalized package name match | Alpine Linux edge package indexes: nickle-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Desk calculator language with C-like syntax (development files) | https://nickle.org/
- apk - nickle-doc - 2.108-r0: normalized package name match | Alpine Linux edge package indexes: nickle-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Desk calculator language with C-like syntax (documentation) | https://nickle.org/
- dnf - nickle - 2.108-2.fc45: normalized package name match | Fedora Rawhide package metadata: nickle from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A programming language-based prototyping environment | https://nickle.org
- dnf - nickle-devel - 2.108-2.fc45: normalized package name match | Fedora Rawhide package metadata: nickle-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Include files for Nickle | https://nickle.org
- pacman - nickle - 2.108-1: normalized package name match | Arch Linux sync databases: nickle from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A programming language based prototyping environment with powerful programming and scripting capabilities | https://nickle.org
- MacPorts - nickle: normalized package name match | MacPorts ports tree: math/nickle/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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


## Sources

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