This is a prototype of the idea of profunctor user interfaces for Web/Material Design Component-based UIs written in PureScript.
Why Bambik? — a long-form introduction
1000 characters-long description of the idea
20 minutes-long presentation of the idea
Row profunctors over records and variants (design note)
Variant syntax sugar — the forked PureScript compiler this repo builds on
bambik is consumed as a spago git package pinned to a release tag — no clone,
nothing vendored. The v0.1.1 release
gives the packages.dhall entry and the two toolchain pins it requires (the
variant-sugar compiler and the matching purescript-variant fork; stock purs
cannot build bambik).
That release also ships developing-bambik-apps, the authoring skill: how to
bootstrap a project, the vocabulary and its four row directions, separation of
concerns, the definitive code-style contract, and the build/verify workflow —
with a scaffold that produces a working application.
mkdir -p .claude/skills
curl -sL https://github.com/restaumatic/bambik/releases/download/v0.1.1/developing-bambik-apps-v0.1.1.tar.gz | tar xz -C .claude/skillsIts source of truth is .claude/skills/developing-bambik-apps/; bootstrap.md is readable on its own if you would rather follow the procedure by hand.
In order to run the demo:
$ npm installDemo of Material Design Component-based UI:
$ npm run dev order-formDemo of plain HTML-based UI — a fancy static page with no Material components, part of the nGUIs set:
$ npm run dev restaurant-menu