back to home

haskell / play-haskell

Haskell Playground

158 stars
13 forks
26 issues
HaskellShellTypeScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing haskell/play-haskell in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/haskell/play-haskell)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Haskell Playground There's lots still to do, see the issue list (as well as TODO.txt for some further ideas). If you want to contribute, perhaps connect with me (either via an issue or on IRC) before writing lots of code. GHCup target platform Because the GHCup installation from the host machine will be used as-is in the containers of the workers, and because said containers run Ubuntu, the desired GHC versions must be installed as follows with : ghcup -p x86_64-deb10-linux install ghc 8.10.7 This ensures that the GHCs will work in the Ubuntu container. Note that currently (2022-08), Ubuntu GHCs seem to work fine on Arch Linux, for example. (This seems to be necessary with certain GHC versions only, and it's probably related to GHC #22268.) Installation System setup: Ubuntu Note: the worker needs bubblewrap 0.7.0, which is present in the Ubuntu repos only from Ubuntu 23.04. If you're running an older version of Ubuntu (or another system without version 0.7.0), build bubblewrap yourself. System setup: Arch Linux Building the applications To build the server (that hosts the website but doesn't run any user code): To build the worker (that the server will connect to, and that runs user code (in a sandbox)): Optionally, if the machine you're building on does not have enough RAM, do this and use : During development: • in whenever play-haskell-server/static/package.json changes • in whenever some file for the frontend changes • in (or re-run ) to reload mustache pages (or send ) Running the applications To run the server: (all in ) • Put a good password in (filename does not matter, but adjust below) • (filename does not matter, but adjust below) • Remember the public key that it prints, say • Optional: put one or more lines of the form in , where the parts are optional (if not given, uses https on port 443); that is produced by the steps to run a worker, see below • (omit the if you didn't do that step) • See for more info on options; the server listens with http on port 8123 by default To run a worker: (all in ) • (filename does not matter, but adjust below) • Remember the public key that it prints, say • Put one or more in (filename does not matter, but adjust below) • • See for more info on options; the worker listens with http on port 8124 by default, use a reverse proxy ssl terminator to get https Server admin interface On the server exposes a simple admin interface through which you can add and remove workers. If you don't want to add workers this way, use the flag described above. Storage Pasted snippets are stored in an SQLite database in the file . API The playground web client uses a simple API to submit jobs to the server; this API can also be used by others. Be aware that the server imposes simple IP-based rate-limiting on job requests; you might get back 429 responses if you submit too many jobs. The API is as follows: to on the playground server with the following JSON content: The response will be a JSON object (with ) that has one of the following forms: or