macOS
brew install urweblocal Homebrew formula metadata
brew
Ur/Web programming language. Version 20200209 via Homebrew; verified 2026-07-01.
install
brew install urweblocal Homebrew formula metadata
nix profile install nixpkgs#urwebnixpkgs package indexes · pkgs/by-name/ur/urweb/package.nix · source: api.github.com
overview
Ur/Web programming language
history
Ur/Web is a domain-specific, statically typed functional programming language and compiler for database-backed web applications. The official site presents Ur as an ML/Haskell-like pure, strict, statically typed language with row-type metaprogramming, and Ur/Web as Ur plus web-specific parsing, optimization, and a standard library for dynamic SQL-backed applications.
Adam Chlipala's 2010 PLDI paper introduced Ur as a language for statically typed metaprogramming with type-level record computation and described Ur/Web as a special standard library for modern web applications. The official resources page lists additional 2010 talks, a 2010 OSDI paper on security policies, and later Ur/Web research papers.
The 2015 POPL paper framed Ur/Web as a simpler model for modern web programming: one language compiled to the necessary web-standard languages, with modular encapsulation of web state and a concurrency model based on transactions and cooperative preemption. The same period also produced an ICFP 2015 compiler paper describing Ur/Web compilation to efficient native code without garbage collection.
The current GitHub README and official site emphasize type-level guarantees uncommon in mainstream web frameworks: well-typed programs should avoid code injection, invalid HTML, dead internal links, form-handler mismatches, invalid SQL queries, and marshaling mistakes between browser, server, and database.
The official site lists several production applications, including BazQux Reader, Bitcoin Merge Mining Pool, Ecosrv, Extensibl, and Oilprice, along with student projects and blog posts from 2010 onward. It also lists package/container availability in Arch AUR, Debian, Docker, Homebrew, Milis Linux, Nix, OpenBSD experimental ports, and Ubuntu, while this batch's input confirms Homebrew and Nix package-manager records.
A typical package-manager user installs the compiler as urweb, writes .ur, .urs, and .urp project files, and invokes the urweb executable to compile applications. The GitHub README shows compiling and running a bundled hello demo, while the official resources page directs users to a tutorial, reference manual, demos, FAQ, mailing list, and GitHub issues.
Ur/Web is package-nerd significant because it is not just another library: it is a research language, compiler, runtime model, and web framework packaged as a Unix-style compiler tool. Its availability in Homebrew, Nix, Debian, Ubuntu, and other systems makes an academic language experiment installable through ordinary package workflows.
It also illustrates why package metadata can matter for niche languages. A formula or derivation gives users a reproducible compiler and dependencies, which is crucial for trying a language whose value comes from whole-program guarantees and compiler behavior rather than a single library API.
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 |
|---|---|---|---|
urweb | 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/urweb/urweb
install metadata
| Package key | brew:urweb |
|---|---|
| Version | 20200209 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/urweb |
| Homepage | http://www.impredicative.com/ur/ |
| Repository | https://github.com/urweb/urweb |
| Upstream docs | http://www.impredicative.com/ur |
| License | BSD-3-Clause |
| Source archive | https://github.com/urweb/urweb/releases/download/20200209/urweb-20200209.tar.gz |
| Last updated | 2026-07-01T21:22:40Z |
| Pulse | updated |
| Dependencies | gmp, icu4c@78, openssl@4 |
| Build dependencies | autoconf, automake, libtool, mlton |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | urweb |
| Version Scheme | 0 |
| Revision | 13 |
| 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.
urweb
nix profile install nixpkgs#urwebsource 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.