Automic VaultAutomic Vault

brew

Install gnu-apl with Homebrew, apk, MacPorts, Nix

GNU implementation of the programming language APL. Version 1.9 via Homebrew; verified 2026-06-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gnu-apl

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install gnu-apl

MacPorts ports tree · lang/gnu-apl/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add gnu-apl

Alpine Linux edge package indexes · gnu-apl · source: dl-cdn.alpinelinux.org

Nixverified · 92%
nix profile install nixpkgs#gtk-server

nixpkgs package indexes · pkgs/by-name/gt/gtk-server/package.nix · source: api.github.com

overview

Package summary

GNU implementation of the programming language APL

Commands and aliases

  • AP100
  • AP210
  • APserver
  • Gtk_server
  • apl

history

Project history and usage

GNU APL is the GNU Project's free interpreter for APL, aimed at ISO/IEC 13751 Extended APL compatibility while adding practical Unix-style features such as scripting, shared variables, file I/O, SQL access, plotting, JSON handling, and GTK integration.

Project history

Juergen Sauermann announced GNU APL 1.0 on the GNU info list in September 2013 after several years of development, describing it as a GNU implementation of the ISO 13751 APL standard with nested arrays, complex numbers, and shared variables. The project kept its source on GNU Savannah and later shifted from occasional tarball releases to repository-based bug-fix distribution after the 1.9 release line.

The interpreter evolved as a large C++ codebase rather than a minimal language experiment. Its manual frames GNU APL as an APL interpreter plus GNU-specific extensions, and the home page points users to a quick tour, a reference manual, Doxygen-generated source documentation, and Savannah repositories for routine development use.

Adoption history

GNU APL serves the small but persistent APL community that wants a free software implementation available through GNU mirrors, source repositories, Debian packages, and ports for GNU/Linux, BSD, macOS, and Windows environments. The project also hosts a community page that collects contributed workspaces, libraries, editor modes, bindings, SQL interfaces, plotting tools, and ports.

Its ecosystem significance comes less from mass adoption and more from preservation: it gives package managers and free software distributions a maintained, source-available APL implementation with Unicode support and documented extensions.

How it is used

Practitioners use GNU APL interactively from a terminal, as a script interpreter, and as a host for APL workspaces. Typical uses include exploring array-oriented algorithms, running old or portable APL code, writing compact data-processing scripts, testing ISO APL behavior, and using GNU APL's non-standard system functions for files, databases, graphics, JSON, and native integrations.

Why package nerds care

For package maintainers, GNU APL is notable because it packages a historically specialized language in the familiar GNU Autotools and Savannah ecosystem. It also carries practical platform concerns that package builders care about, including APL glyph fonts, keyboard mappings, terminal behavior, and optional integrations.

Timeline

  • 2013: GNU APL 1.0 announced on the GNU info list.
  • 2014: GNU APL community page documented contributed libraries, ports, and workspaces.
  • After 1.9: GNU APL release practice moved toward repository-delivered bug fixes.

Related projects

  • APL2 and ISO/IEC 13751 define the language family and standard GNU APL targets.
  • GNU Savannah hosts the project's official source repositories.
  • Community projects include GNU APL editor integrations, APL package/library collections, SQL bindings, plotting tools, Android porting work, and keyboard helpers.

security posture

Risk level: yellow

broad file, network, media, or database tool signal. generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • broad file, network, media, or database tool signal
  • generalized runtime or code generation signal

Signals

  • text:programming language
  • text:server

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 10 platform targets.
  • Installs with 14 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
AP100cliglobal executable
AP210cliglobal executable
APservercliglobal executable
Gtk_servercliglobal executable
aplcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.9
manager updated2026-06-13
local dataok
upstreamnot checked
latest detectednot detected

https://www.gnu.org/software/apl/

install metadata

Package metadata

Package keybrew:gnu-apl
Version1.9
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gnu-apl
Homepagehttps://www.gnu.org/software/apl/
Repositoryhttps://git.savannah.gnu.org/git/apl.git
Upstream docshttps://www.gnu.org/software/apl
LicenseGPL-3.0-or-later
Source archivehttps://ftpmirror.gnu.org/gnu/apl/apl-1.9.tar.gz
Last updated2026-06-13T23:34:56+02:00
Pulseupdated
Dependenciesat-spi2-core, cairo, gdk-pixbuf, gettext, glib, gtk+3, harfbuzz, libpng, libx11, libxcb, pango, pcre2, readline, sqlite
Build dependenciespkgconf
Bottleavailable (on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegnu-apl
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

apk95%

gnu-apl 1.9-r0

GNU interpreter for the programming language APL

https://www.gnu.org/software/apl/

sudo apk add gnu-apl
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gnu-apl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gnu Apl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gnu-apl from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

gnu-apl-dev 1.9-r0

GNU interpreter for the programming language APL (development files)

https://www.gnu.org/software/apl/

sudo apk add gnu-apl-dev
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gnu-apl
  • normalized package name match
  • Matched by: Gnu Apl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gnu-apl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

gnu-apl-doc 1.9-r0

GNU interpreter for the programming language APL (documentation)

https://www.gnu.org/software/apl/

sudo apk add gnu-apl-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gnu-apl
  • normalized package name match
  • Matched by: Gnu Apl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gnu-apl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
MacPorts95%

gnu-apl

sudo port install gnu-apl
  • normalized package name match
  • Matched by: Gnu Apl
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/gnu-apl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Nix92%

gtk-server

nix profile install nixpkgs#gtk-server
  • installed executable or alias match
  • Matched by: Gtk Server
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gt/gtk-server/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk92%

gtk-server 2.4.6-r2

Interpreted GUI Programming for GTK

https://www.gtk-server.org/

sudo apk add gtk-server
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: gtk-server
  • 1 dependencies
  • 1 provides
  • installed executable or alias match
  • Matched by: Gtk Server
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gtk-server from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk92%

gtk-server-doc 2.4.6-r2

Interpreted GUI Programming for GTK (documentation)

https://www.gtk-server.org/

sudo apk add gtk-server-doc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: gtk-server
  • installed executable or alias match
  • Matched by: Gtk Server
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gtk-server-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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