From 14461ac786d8dc41090526d378c811433b4f7518 Mon Sep 17 00:00:00 2001 From: Matei Adriel Date: Sun, 29 Oct 2023 01:13:57 +0200 Subject: [PATCH] Document purescript experiments --- purescript/README.md | 19 +++++++++++++++++++ purescript/abilities/README.md | 12 ++++++++++++ purescript/canopy/README.md | 12 ++++++------ purescript/compose/README.md | 13 +++++++++++++ purescript/ecs/README.md | 10 ++++++++++ purescript/typelevel/README.md | 14 ++++++++++++++ 6 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 purescript/README.md create mode 100644 purescript/abilities/README.md create mode 100644 purescript/compose/README.md create mode 100644 purescript/ecs/README.md create mode 100644 purescript/typelevel/README.md diff --git a/purescript/README.md b/purescript/README.md new file mode 100644 index 0000000..5dd6ff9 --- /dev/null +++ b/purescript/README.md @@ -0,0 +1,19 @@ +# Purescript + +| Name | Description | +| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| [abilities](./abilities/) | Typeclass-dictionary abuse enabling the creation of a barebones effect system | +| [bug](./bug/) | Unknown reason of existence | +| [canopy](./canopy/) | Unfinished attempt at writing a [Diplomacy]() adjudecation engine | +| [compose](./compose/) | Overload do-notation for function composition and existential types | +| [ecs](./ecs/) | Purescript-wrapper for [thi.ng/ecs](thi.ng/ecs) | +| [existentials-blog](./existentials-blog) | Perhaps supposed to turn into a blog about existentials? | +| [existentials](./existentials) | Experiment regarding the Church-encoding of existential types | +| [gadts](./gadts) | Experiment regarding ways to encode GADTs in Purescript | +| [lune](./lune) | Failed effect-system project | +| [maps](./maps) | Attempt at implementing maps with membership proofs | +| [proofs](./proofs) | Attempt at expressing mathematical proofs using Purescript's effect system | +| [purpleflow](./purpleflow) | Unfinished dependently-typed programming language | +| [sprint](./sprint) | Failled effect-system based on typelevel lists | +| [streams](./streams) | Playing with `purescript-pipes` | +| [typelevel](./typelevel) | Typelevel naturals, vectors, sum-types, orderings and lambda-calculus evaluation and a value-level bounded-type GADT | diff --git a/purescript/abilities/README.md b/purescript/abilities/README.md new file mode 100644 index 0000000..ab7534a --- /dev/null +++ b/purescript/abilities/README.md @@ -0,0 +1,12 @@ +# Abilities + +Implementation of my idea of abusing typeclass-dictionaries in order to create a barebones effect system. + +## File structure + +| File | Description | +| -------------------------------------- | ---------------------------------------------------------------- | +| [Abilities.purs](./src/Abilities.purs) | Overloaded pure do-notation enabling implicit dictionary passing | +| [Ask.purs](./src/Ask.purs) | Reader-monad effect | +| [Io.purs](./src/Ask.purs) | IO-monad effect | +| [Main.purs](./src/Main.purs) | Demo showcasing usage of `IO` together with `Ask` | diff --git a/purescript/canopy/README.md b/purescript/canopy/README.md index 8764694..6d7a3e5 100644 --- a/purescript/canopy/README.md +++ b/purescript/canopy/README.md @@ -4,9 +4,9 @@ This directory contains an (unfinished) attempt at writing a [Diplomacy](