GAP in the browser

A WebAssembly build of GAP running entirely in your browser — useful for trying things out without installing. Not all packages work, working memory is capped, and performance is reduced compared to a native build. For real work, install GAP from www.gap-system.org.

What is this? · Licensing

GAP is a system for computational discrete algebra, with particular emphasis on computational group theory. This page is a self-contained WebAssembly build, served as a static site and run inside a Web Worker; you interact with it through an xterm-pty terminal in the page below.

To get started, try 1+1;, Factorial(20);, or SymmetricGroup(5);. The full GAP manuals apply, with two caveats: some packages won't load (anything that needs a native compiler or system library), and anything that wants the local filesystem won't work.

Files downloaded on first visit are cached in your browser's IndexedDB, so subsequent visits start much faster. Clear the site data to reset the cache.

GAP is free software, distributed under the GNU General Public License (version 2 or later). See the copyright notice for the full statement.

Loading GAP… The first visit downloads several tens of megabytes; subsequent visits are cached in your browser and load much faster.
This page needs SharedArrayBuffer, which is only available when the page is served with the headers Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp. The bundled service worker handles this on hosts where you can't set headers (e.g. GitHub Pages); for local hosting use etc/emscripten/serve.py.