Profunctor Equipment in Haskell
The article discusses the implementation of profunctor equipment in Haskell. It emphasizes the advantages of using a compiler-verified encoding while acknowledging the limitations of Haskell compared to dependently typed languages. The author provides various definitions and examples related to functors and profunctors, highlighting their applications in Haskell programming.
- ▪The implementation aims to make profunctor equipment more accessible for programmers.
- ▪It utilizes the Haskell category of types and functions along with standard library implementations.
- ▪The article includes definitions for horizontal and vertical compositions of cells using profunctors.
Hacker News (Newest) files mainly under programming. We currently carry 5,306 of its stories.
Story provenance
Source · retrieval · rights · ranking — open for full record
inspect →
Attribution is not the same as permission. This drawer separates discovery metadata, excerpts, WeSearch-generated summaries, reuse status, and whether the publisher receives the visit. Nothing here claims a legal grant the publisher has not made.
Record
| Original publisher | Bartosz Milewski's Programming Cafe |
| Canonical URL | https://bartoszmilewski.com/2026/05/16/profunctor-equipment-in-haskell/ |
| Publication time | Sat, 16 May 2026 15:18:23 +0000 |
| Retrieval time | 2026-05-16T15:40:18.968Z |
| Last seen | 2026-05-16T15:40:18.968Z |
| Headline source | Publisher (no WeSearch rewrite) |
| Excerpt source | publisher body |
| Excerpt method | First ~120 words (~800 chars) of extracted publisher body, fair-use limited. |
| Summary | WeSearch · cerebras-chat (WeSearch summarizer) |
| Summary source text | contentText |
| Citation coverage | Summary is a WeSearch-generated derivative; primary citation is the original publisher URL. |
| Cluster | yBFxFJtTpUTp |
| Cluster logic | Grouped by semantic title/content similarity across sources within a rolling window. Same-publisher template collisions are excluded from coverage comparison. |
| Ranking reason | Story pages are not engagement-ranked. Hub feeds use recency, with optional source-diversified chronological ordering (cap consecutive stories per source). No personalized ranking. |
| Publisher visit | Yes — open original |
| Substitutes article? | No — link-out required for full text |
Rights status (four layers)
WeSearch handling by dimension
| Indexing | May the item be indexed (stored, ranked, made findable)? | Allowed |
| Snippet | May a short excerpt of the publisher's text be shown? | Allowed |
| AI summary | May WeSearch generate its own short summary of the article? | Limited |
| Retrieval / RAG | May the content be exposed for third-party retrieval-augmented generation? | Not asserted |
| Model training | May the content be used to train AI models? | Not asserted |
| Commercial reuse | May the content be reused commercially? | Not permitted |
Basis: Derived from the published RSS/Atom feed. Contact: [email protected]. Reviewed: 2026-07-24.
Opening excerpt (first ~120 words) tap to expand
Previously: Profunctor Equipment. To make things more palatable for programmers, I decided to provide a toy implementation of some of the equipments in Haskell. The advantage of this encoding is that it can be verified by the compiler, and I still trust the compiler more than I trust the AI. A more adequate implementation would require a full-blown dependently typed language, but if we restrict ourselves to just a single category and work only with endo-functors and endo-profunctors, we can get at least some intuitions. If you want to see a more elaborate version, see the proarrows library by Sjoerd Visscher. The only 0-cell I’ll be using is the Haskell category of types and functions.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Bartosz Milewski's Programming Cafe.