macOS
brew install ottlocal Homebrew formula metadata
安装
brew install ottlocal Homebrew formula metadata
nix profile install nixpkgs#ottnixpkgs package indexes · pkgs/by-name/ot/ott/package.nix · 来源: api.github.com
sudo apt install libcoq-ottDebian stable package indexes · libcoq-ott · 来源: deb.debian.org
概览
Tool for writing definitions of programming languages and calculi
历史
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.
安全态势
generalized runtime or code generation signal.
yellow 风险 · 中 置信度 · runtime
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
ott | 可执行文件 | 已索引可执行文件 | 从本地可执行文件索引发现。 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
安装元数据
| 软件包键 | brew:ott |
|---|---|
| 版本 | 0.34 |
| 软件包管理器 | Homebrew |
| 主页 | https://www.cl.cam.ac.uk/~pes20/ott/ |
| 仓库 | https://github.com/ott-lang/ott |
| 最后更新 | 2026-07-13T05:11:31Z |
| Pulse | updated |
| Bottle | 未记录 |
| 服务 | 未声明 |
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
libcoq-ott 0.34+ds-1+b4
Ott tool (Coq plugin)
https://github.com/ott-lang/ott
sudo apt install libcoq-ottott-tools 0.34+ds-1+b4
Ott tool (executable)
https://github.com/ott-lang/ott
sudo apt install ott-toolsott
nix profile install nixpkgs#ottlibcoq-ott 0.33+ds-2build3
Ott tool (Coq plugin)
https://github.com/ott-lang/ott
sudo apt install libcoq-ottott-tools 0.33+ds-2build3
Ott tool (executable)
https://github.com/ott-lang/ott
sudo apt install ott-toolsott
sudo port install ott来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.