macOS
brew install iolocal Homebrew formula metadata
sudo port install IoMacPorts ports tree · lang/Io/Portfile · source: api.github.com
brew
Small prototype-based programming language. Version 2017.09.06 via Homebrew; verified from local package data.
install
brew install iolocal Homebrew formula metadata
sudo port install IoMacPorts ports tree · lang/Io/Portfile · source: api.github.com
nix profile install nixpkgs#ionixpkgs package indexes · pkgs/by-name/io/io/package.nix · source: api.github.com
overview
Small prototype-based programming language
history
Io is a small dynamic prototype-based programming language built around message passing, prototype objects, runtime-inspectable code, and a compact VM. Its official materials place it in the lineage of Smalltalk, Self, NewtonScript, Act1, Lisp, and Lua, with an emphasis on conceptual unification rather than surface syntax.
The official timeline says Steve Dekorte began Io in March 2002 as a minimal prototype-based language, with early public releases and a programming guide appearing through the Yahoo Group community shortly afterward. In its first year, Io gained actors, coroutines, incremental garbage collection, weak links, networking, and a quickly expanding addon system.
Io entered programming-language culture through its compact object model and message-tree semantics. The official timeline records a Lua Workshop talk and an ACM Dynamic Languages Symposium presentation in 2005, then source-history moves from email patches to a public DARCS repository, git hosting, and GitHub.
The project continued to evolve through build-system and runtime changes, including a CMake transition in 2010, Eerie package-manager work under the IoLanguage organization from 2017, and a later WebAssembly/WASI direction with JavaScript bridging. The Homebrew package is therefore attached to a language with a long experimental runtime history, not just a frozen curiosity.
Io never became a mainstream application language, but it became memorable among programming-language enthusiasts because its tiny syntax exposes prototypes, messages, futures, actors, and code-as-data ideas directly. Its package-manager presence in Homebrew, MacPorts, and Nix reflects that role as a language runtime people install to explore or preserve a distinctive design.
Adoption is best understood as educational and exploratory. Io is the kind of package that appears in language surveys, polyglot exercises, and prototype-object discussions because it shows a coherent alternative to class-based object systems and keyword-heavy syntax.
Users run the `io` interpreter or build the runtime to experiment with message sends, prototype cloning, slots, blocks, addons, and concurrency constructs. The official guide and reference are central because the language's unusual semantics are easier to understand through examples than through command flags alone.
Io matters to package nerds because it preserves a compact, radical language design in executable form. It also has the classic packaging shape of a niche language runtime: VM, interpreter, standard library, historical native addons, documentation, tags, branches, and compatibility questions across Unix-like systems.
Its significance is disproportionate to install counts. A package manager carrying Io lets users reproduce examples from programming-language books and discussions, inspect a prototype-based VM, and compare the packaging demands of small language runtimes against larger ecosystems.
security posture
generalized runtime or code generation signal.
yellow risk · medium confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
io | cli | global executable | |
io_static | cli | global executable |
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.
https://github.com/IoLanguage/io
install metadata
| Package key | brew:io |
|---|---|
| Version | 2017.09.06 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/io |
| Homepage | http://iolanguage.com/ |
| Repository | https://github.com/IoLanguage/io |
| Upstream docs | https://iolanguage.org/guide/guide.html |
| License | BSD-3-Clause |
| Source archive | https://github.com/IoLanguage/io/archive/refs/tags/2017.09.06.tar.gz |
| Build dependencies | cmake, pkgconf |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | io |
| Version Scheme | 0 |
| Revision | 1 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
io
nix profile install nixpkgs#ioIo
sudo port install Iosource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.