| CARVIEW |
Select Language
HTTP/2 200
date: Mon, 19 Jan 2026 22:44:04 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"8089cbc80f457f067ae0eba3bf1281b5"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=BY9YZV7y8f6JDeBn33g9q7c9yelrnQZJVLYNVyR%2BgFSNdpibiNGxsrbzCa%2Bh8ubjQ0baK18xIU1HH2mLoMApZpLqR8lw4m7m9L8SO%2FojVN6cfAaSnkYU5WGcO40CnhCLkk4rJfwKkhK9Rxt7eYvgfDqHCS9nmomx3WENquD0bUol1ADtnpw9z3lajUEhsRVJBun4Ej7VfCDtcWaxTyIbxmwwipMvu5qLo3kn9CBYjOvaRSUaPdG3LnppCUnv%2Fzifm8zEYTirJF%2BbWUrn%2FPXGoA%3D%3D--Pi28UtKHdFL5uTj2--eEsujIOfMyl191pjRRdCvg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.576859285.1768862644; Path=/; Domain=github.com; Expires=Tue, 19 Jan 2027 22:44:04 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 19 Jan 2027 22:44:04 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: AE30:377CB3:3A9BE06:44DE7D0:696EB3B4
GitHub - ezyang/logitext: Beautiful, interactive visualizations of logical inference
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 11
Beautiful, interactive visualizations of logical inference
License
ezyang/logitext
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Install
-------
1) Get a copy of Coq with PGIP support
git clone https://github.com/ezyang/coq
# build Coq using the standard methods
You need to tell Logitext about where this Coq lives.
The easiest way is to create a file named config in the
Logitext directory that sets the PATH to the bin directory of
the built Coq, e.g.
echo 'export PATH=$HOME/coq/bin:$PATH' > config
(Note: We use the -boot option to run Coq; this makes installation
easier but requires you to keep the build directory around. If
you really want to 'make install' your copy of Coq, you'll need
to edit CoqTop.hs to remove the -boot flag, or make a coqtop wrapper
executable that strips the -boot flag.)
Test this setup by running the following commands:
. config
coqtop -v # should have build date equal to current date
coqtop -boot # should put you into repl
2) Get the Ur metaprogramming library
hg clone https://hg.impredicative.com/meta/
Place this as a subdirectory of the logitext folder, and it will
automatically get picked up.
3) Get the Ur/Web compiler
hg clone https://hg.impredicative.com/urweb
# build Ur/Web using the standard method
You have a few options for setting up Ur/Web. If you can install
it globally on the system, you need no further changes.
Alternatively, you can configure an alternate --prefix for Ur/Web, and
then add the Ur/Web in that location to your PATH. (The build.sh script
references 'config', so you can place it there.) You'll also need to add
the include directory to C_INCLUDE_PATH, as we use the C FFI, which
needs a fully qualified header name (GHC will need this too).
Another convenient option is to just set URWEB_FLAGS="-boot",
and don't bother installing into an alternate prefix. You'll
still need to modify PATH and C_INCLUDE_PATH, but you can directly
point them at the build directory.
4) Prepare GHC and Haskell
Any widely available distribution should do; the author personally
is using 7.4.1 with the Haskell Platform. Run
cabal configure
in order to find out what libraries you need, and install them.
We don't use cabal to build the Haskell products though, because
we need to use GHC to link Ur/Web and Haskell code together.
5) Build it!
You'll need a Linux system with inotify to use the normal scripts. Run
./build.sh
which sets up a continuous rebuilding server, and automatically starts
up with the normal parameters. Tweak the script for your own needs
as necessary. You can also run
./tc.sh
to get continuous typechecking on the Ur/Web files.
6) Serve static files
Ur/Web doesn't support serving static files natively, so you will need
to have another running web server to serve the external JavaScript and
CSS files. By default they are expected to be at the URL
https://localhost/logitext/ but you can change this by editing
js.urp, logitext.urp, and logitext.ur (be sure to change the <link>
href, the script directives and the allow url directives).
Troubleshooting
---------------
Database connection initialized.
Starting up coqtop...
Ready coqtop
fd:9: commitBuffer: resource vanished (Broken pipe)
This means you are not using a version of Coq which understands the -pgip flag.
In file included from /tmp/fileMvYC8r/webapp.c:7:0:
/home/ezyang/Dev/logitext/haskell.h:1:25: fatal error: urweb/urweb.h: No such file or directory
You have not set your C_INCLUDE_PATH correctly.
unhandled exception: Io: openIn "/usr/local/lib/urweb/ur/char.ur" failed with SysErr: No such file or directory [noent]
You forgot to pass the -boot flag to Ur/Web using URWEB_FLAGS.
About
Beautiful, interactive visualizations of logical inference
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
You can’t perform that action at this time.