pkg.sopackage field notes

brew / rank 4405

Install idris2 with Homebrew

Pure functional programming language with dependent types. Version 0.8.0 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install idris2

provider-native install command

overview

Package summary

Pure functional programming language with dependent types

Commands and aliases

  • idris2

history

Project history and usage

Idris 2 is the second major implementation of the Idris dependently typed programming language. It keeps the type-driven programming culture of Idris while changing the core language around Quantitative Type Theory, giving the compiler explicit information about erased, linear, and unrestricted values.

For package users, Idris 2 matters less as a conventional scripting tool and more as a research-grade language runtime that became packaged enough for everyday experimentation: a compiler, REPL, standard libraries, package metadata through .ipkg files, editor integrations, and a small but unusually technical ecosystem.

Project history

Idris development is led by Edwin Brady at the University of St Andrews, and the Idris site presents the language as a vehicle for type-driven development: types are treated as plans that guide construction of programs. Idris 2 grew out of that project as a new version of the dependently typed language rather than a small revision of Idris 1.

The Idris 2 paper submitted in 2021 describes the language as a new version of Idris with a core based on Quantitative Type Theory. The official migration documentation emphasizes the practical consequence: every variable has a quantity, so the compiler can distinguish erased values, exactly-once values, and ordinary unrestricted values.

The public Idris2 repository records release tags beginning with v0.2.0 in 2020 and continuing through later 0.x releases. The README also points users to Idris 2 talks from the late 2010s, the official documentation, the Pack package manager, curated community libraries, and idris2-lsp.

Adoption history

Adoption has centered on the functional programming, dependent-types, theorem-proving, and programming-language-research communities. The project deliberately preserves a path for Idris 1 users through documentation about language differences and book updates, while also advertising Idris 2 specific learning material and talks.

Package-manager adoption reflects that Idris 2 became installable outside its research niche. The supplied package metadata lists Homebrew, Alpine, Fedora, MacPorts, and Nix package names, giving users a route to the compiler without building the full language stack manually.

How it is used

Users run the idris2 compiler and REPL to write dependently typed programs, explore holes interactively, compile programs, and build packages described by .ipkg files. The README describes Pack as the common way to install Idris packages and work with compatible package collections.

The language is commonly used for examples where types express program invariants: length-indexed data, proof-carrying code, safe protocols, and resource-aware APIs. Idris 2's QTT-based quantities make erasure and linear usage visible to programmers instead of leaving them as compiler-only implementation details.

Why package nerds care

Idris 2 is a package-nerd marker for the point where dependently typed programming moved from papers and conference demos into reproducible command-line tooling. Installing it from Homebrew or Nix pulls a language whose central design is tied directly to contemporary type theory.

It is also interesting because its ecosystem has package metadata of its own. The README's .ipkg and Pack discussion makes Idris 2 both a package in Unix package managers and a language with a nested package culture.

Timeline

  • 2018: Public Idris 2 talks appear in the official README resource list.
  • 2020: Public Idris2 release tags begin with v0.2.0.
  • 2021: Edwin Brady's Idris 2: Quantitative Type Theory in Practice paper is submitted and appears at ECOOP 2021.
  • 2022: v0.6.0 release tag marks another packaged compiler milestone.
  • 2023: v0.7.0 release tag is recorded in the upstream repository.
  • 2025: v0.8.0 release tag is recorded in the upstream repository.

Related projects

  • Idris 1 is the direct predecessor and remains the context for much of the teaching material, including Type-Driven Development with Idris and the official migration notes.
  • Pack, idris2-pack-db, idris2-lsp, the idris-community organization, and the Idris Zulip form much of the surrounding tooling and community infrastructure.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:programming language

Install behavior

  • No Homebrew bottle metadata was recorded.

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
idris2executableindexed executableDiscovered from the local executable index.

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-08-03
manager version0.8.0
manager updated2026-06-22
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:idris2
Version0.8.0
Package managerHomebrew
Homepagehttps://www.idris-lang.org/
Repositoryhttps://github.com/idris-lang/Idris2
Last updated2026-06-22T14:03:45-07:00
Pulseupdated
Bottlenot recorded
Servicenone declared

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
  • curated package history
  • pkgdb category and tag curation