# Install koka with Homebrew, apk, Nix

Compiler for the Koka language. Version 3.2.3 via Homebrew; verified 2026-06-28.

## Install

```sh
sudo av install brew:koka
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install koka
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add koka
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#koka
```

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

## Package facts

- **Package key:** brew:koka
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/koka>
- **Version:** 3.2.3
- **Source summary:** Compiler for the Koka language
- **Homepage:** <http://koka-lang.org>
- **Repository:** <https://github.com/koka-lang/koka>
- **Upstream docs:** <https://koka-lang.github.io/koka/doc/book.html>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/koka-lang/koka.git>
- **Last updated:** 2026-06-28T12:20:00-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- koka (cli)
- koka (alias)

## Dependencies

- gmp

## Build dependencies

- cabal-install
- ghc
- pcre2

## Uses from macOS

- libffi

## 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: 3.2.3
- Package-manager updated: 2026-06-28
- Local data: ok
- Upstream repository: https://github.com/koka-lang/koka
- info: No cached GitHub release or tag data was available.
## Project history and usage

Koka is a research programming language and compiler centered on effect types, algebraic effect handlers, and functional programming with practical compilation. In package-manager terms, it is a small but notable language-runtime package: not mainstream production infrastructure, but a living research compiler users can install with one command.

### Project history

Microsoft Research records the Koka project as established on 2012-04-13. Daan Leijen's project materials describe it as a strongly typed functional-style language with effect types and handlers, using a small core of composable language features rather than many special-case extensions.

Koka's early academic identity was tied to row-polymorphic effect types. The 2014 paper 'Koka: Programming with Row-polymorphic Effect Types' describes Koka as implementing the effect system and being used for small to medium examples. Later work pushed effect handlers and efficient implementation techniques, including 2021 ICFP work on generalized evidence passing for effect handlers.

The v3 documentation dated 2026-03-17 describes Koka v3 as a research language under development, stable enough that the compiler implements the full specification, but lacking mature async libraries and package management. That positioning explains why package-manager availability is useful even though the language is not a broad application platform.

### Adoption history

Koka's adoption is primarily academic and experimental. It is used to explore effect typing, handlers, Perceus optimized reference counting, reuse analysis, and functional-but-in-place programming ideas rather than to anchor a large industrial ecosystem.

Homebrew, Alpine, and Nix packaging make it easier for programming-language researchers, students, and curious developers to run the compiler without building the Haskell/C toolchain path manually. That matters because research languages often fail at the first install step; a package keeps the barrier low.

### How it is used

Users install Koka to compile and experiment with `.kk` programs, run examples from the language book, explore effect handlers, and test language-design ideas around typed effects and memory management. The command-line compiler is the main package surface.

Because the documentation explicitly notes missing package management and limited async libraries, Koka is best understood as a language lab and compiler package rather than a general-purpose runtime ecosystem comparable to Go, Rust, Python, or Haskell.

### Why package nerds care

Koka is the kind of package that makes language-runtime sections interesting: it exposes active programming-language research through a normal package manager. Its presence beside production compilers lets users compare how ideas such as algebraic effects and handlers move from papers into runnable tools.

It also shows the long tail of package indexes. Not every compiler package is there for production deployment; some are there because a reproducible install is the difference between reading a paper and trying the idea.

### Timeline

- 2012-04-13: Microsoft Research records the Koka project as established.
- 2014: Daan Leijen published work on Koka and row-polymorphic effect types.
- 2021-08-23: The Koka book notes ICFP 2021 work on generalized evidence passing for effect handlers.
- 2024-01-13: GitHub release metadata records Koka v3.0.0.
- 2026-03-17: The Koka book dated 2026-03-17 documents Koka v3.2.3.

### Related projects

- Koka belongs near research and functional languages such as Haskell, OCaml, Eff, Links, and Multicore OCaml discussions of algebraic effects. Its implementation work also relates to compiler research on reference counting, effect-handler compilation, and typed intermediate representations.

### Sources

- <https://api.github.com/repos/koka-lang/koka/releases>
- <https://arxiv.org/pdf/1406.2061>
- <https://koka-lang.github.io/koka/doc/book.html>
- <https://www.microsoft.com/en-us/research/project/koka/>
- <https://www.microsoft.com/en-us/research/publication/first-class-named-effect-handlers/>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

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

## Other Package-Manager Records

- Nix - koka: normalized package name match | nixpkgs package indexes: pkgs/by-name/ko/koka/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - koka - 3.2.2-r1: normalized package name match | Alpine Linux edge package indexes: koka from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Strongly typed functional-style language with effect types and handlers | https://koka-lang.github.io/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer 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.
- [cabal-install](https://www.automicvault.com/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc](https://www.automicvault.com/pkg/brew/ghc/) - Build dependency declared by Homebrew.
- [pcre2](https://www.automicvault.com/pkg/brew/pcre2/) - Build dependency declared by Homebrew.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [frege](https://www.automicvault.com/pkg/brew/frege/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [mercury](https://www.automicvault.com/pkg/brew/mercury/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [never](https://www.automicvault.com/pkg/brew/never/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [purescript](https://www.automicvault.com/pkg/brew/purescript/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [urweb](https://www.automicvault.com/pkg/brew/urweb/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [agda](https://www.automicvault.com/pkg/brew/agda/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.

## Combined YAML source

View the package source record on GitHub. [combined/koka.yml](https://github.com/automic-vault/db/blob/main/combined/koka.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
