# ott を Homebrew, MacPorts, Nix, apt でインストール

ott のインストール経路、実行ファイル、メタデータ、AI エージェント向けセキュリティノートを確認します。

## インストール

```sh
sudo av install brew:ott
```

追加のインストールコマンド:

### macOS

- Homebrew (100%):

```sh
brew install ott
```

  証拠: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ott
```

  証拠: MacPorts ports tree: devel/ott/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ott
```

  証拠: nixpkgs package indexes: pkgs/by-name/ot/ott/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- Debian apt (92%):

```sh
sudo apt install libcoq-ott
```

  証拠: Debian stable package indexes: libcoq-ott from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## パッケージ情報

- **パッケージキー:** brew:ott
- **パッケージマネージャ:** Homebrew
- **バージョン:** 0.34
- **ソース概要:** Tool for writing definitions of programming languages and calculi
- **ホームページ:** <https://www.cl.cam.ac.uk/~pes20/ott/>
- **リポジトリ:** <https://github.com/ott-lang/ott>
- **最終更新:** 2026-07-13T05:11:31Z
- **生成日時:** 2026-08-03T19:37:03+00:00

## 実行可能ファイル

- ott (エイリアス)

## インストール挙動

- Bottle: 利用不可

## バージョンと鮮度

- ページ生成日: 2026-08-03
- マネージャ版: 0.34
## プロジェクトの歴史と使われ方

Ott is a tool and metalanguage for writing definitions of programming languages and calculi. It lets semanticists write syntax, binding structure, and inference rules once, then generate LaTeX, Coq, HOL, Isabelle/HOL, Lem, OCaml, and related artifacts.

### プロジェクトの歴史

Ott was principally developed by Peter Sewell, Francesco Zappa Nardelli, and Scott Owens, with a wider contributor group. Its design was published at ICFP 2007 and then as a Journal of Functional Programming article in January 2010.

The project arose from a specific pain point in programming-language research: full-scale semantic definitions are valuable but hard to keep consistent when they live only in informal mathematics or inside a single proof assistant. Ott's answer was a readable ASCII notation plus sanity checking and code generation into both publication and mechanized-proof formats.

### 採用の歴史

The Ott manual and repository document examples spanning untyped and simply typed lambda calculi, ML polymorphism, POPLmark F<:, TAPL systems, a Leroy-style module system, Lightweight Java, Java module-system work, and a substantial OCaml-light semantics. The JFP paper reports larger case studies including OCaml light with 310 rules and mechanized soundness results.

Ott's adoption is strongest in programming-languages research, where the same source definition can support papers, collaborative editing, and proof assistant artifacts. The 2010 'Ott or Nott' workshop abstract is a useful adoption signal: it presents Ott as part of a working language-design process, not merely as a backend generator.

### 使われ方

A typical user writes an .ott source file describing object-language syntax and semantic judgments, then invokes ott with one or more -o outputs such as .tex, .v, .thy, HOL script, Lem, or OCaml files. The tool can also filter embedded terms in LaTeX, Coq, Isabelle/HOL, Lem, or OCaml source.

The generated artifacts reduce drift between the published rules, the parser-level syntax, and the formal definitions used for mechanized reasoning. For package users, the command-line binary is the bridge between a research notation and several proof and documentation ecosystems.

### パッケージ好きにとっての重要性

Ott is a rare package that is both a compiler-like CLI and a research infrastructure artifact. Its package value comes from reproducibility: a language-definition source can be checked, regenerated, versioned, and consumed by multiple proof assistants and typesetting workflows.

### タイムライン

- 2007: Ott was presented at ICFP as 'Effective Tool Support for the Working Semanticist'.
- 2010: The Journal of Functional Programming article expanded the Ott design, motivation, and case studies.
- 2010: 'Ott or Nott' discussed the experience of using Ott in programming-language design and mechanized-metatheory workflows.
- 2024: The GitHub README stated that Ott remained in continuous use.

### Related projects

- Ott sits alongside Coq, HOL, Isabelle/HOL, Lem, OCaml, LaTeX, POPLmark, TAPL-style calculi, Lightweight Java, and OCaml-light semantics work.

### ソース

- <https://dl.acm.org/doi/10.1145/1291220.1291155>
- <https://github.com/ott-lang/ott>
- <https://www.cambridge.org/core/journals/journal-of-functional-programming/article/ott-effective-tool-support-for-the-working-semanticist/4F02FB206B5209D42B3BF2ED2240A802>
- <https://www.cis.upenn.edu/~bcpierce/wmm/wmm10/sewell.pdf>
- <https://www.cl.cam.ac.uk/~pes20/ott/top2.html>


## セキュリティノート

generalized runtime or code generation signal.

- **Geiger リスク:** yellow / 中
- generalized runtime or code generation signal

## 他のパッケージマネージャ記録

- Debian apt - libcoq-ott - 0.34+ds-1+b4: normalized package name match | Debian stable package indexes: libcoq-ott from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Ott tool (Coq plugin) | https://github.com/ott-lang/ott
- Debian apt - ott-tools - 0.34+ds-1+b4: normalized package name match | Debian stable package indexes: ott-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Ott tool (executable) | https://github.com/ott-lang/ott
- Nix - ott: normalized package name match | nixpkgs package indexes: pkgs/by-name/ot/ott/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libcoq-ott - 0.33+ds-2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libcoq-ott from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Ott tool (Coq plugin) | https://github.com/ott-lang/ott
- Ubuntu apt - ott-tools - 0.33+ds-2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: ott-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Ott tool (executable) | https://github.com/ott-lang/ott
- MacPorts - ott: normalized package name match | MacPorts ports tree: devel/ott/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/ott.yml](https://github.com/mxcl/pkgdb/blob/main/combined/ott.yml)


## ソース

- 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
