Document purescript experiments
This commit is contained in:
parent
ae1141ae39
commit
14461ac786
19
purescript/README.md
Normal file
19
purescript/README.md
Normal file
|
@ -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](<https://en.wikipedia.org/wiki/Diplomacy_(game)>) 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 |
|
12
purescript/abilities/README.md
Normal file
12
purescript/abilities/README.md
Normal file
|
@ -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` |
|
|
@ -4,9 +4,9 @@ This directory contains an (unfinished) attempt at writing a [Diplomacy](<https:
|
||||||
|
|
||||||
## File structure
|
## File structure
|
||||||
|
|
||||||
| File | Description |
|
| File | Description |
|
||||||
| ------------------------------------ | ------------------------------------------------------------------------------ |
|
| ---------------------------------------- | ------------------------------------------------------------------------------ |
|
||||||
| [Tagless.purs](./src/Tagless.purs) | Experiments regarding tagless representations of inductive types |
|
| [Tagless.purs](./src/Tagless.purs) | Experiments regarding tagless representations of inductive types |
|
||||||
| [Graph.purs](./src/Graph.purs) | Simple directed-graph type |
|
| [Graph.purs](./src/Graph.purs) | Simple directed-graph type |
|
||||||
| [DipMap.purs](./src/DipMap.purs) | Representation for diplomacy maps |
|
| [DipMap.purs](./src/DipMap.purs) | Representation for diplomacy maps |
|
||||||
| [DipMap.purs](./src/Adjudecate.purs) | Types for logical propositions. The adjudecation logic was supposed to go here |
|
| [Adjudecate.purs](./src/Adjudecate.purs) | Types for logical propositions. The adjudecation logic was supposed to go here |
|
||||||
|
|
13
purescript/compose/README.md
Normal file
13
purescript/compose/README.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Compose
|
||||||
|
|
||||||
|
Overload do-notation for:
|
||||||
|
|
||||||
|
- function composition
|
||||||
|
- usage of existential types
|
||||||
|
|
||||||
|
## File structure
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
| ---------------------------------- | ------------------------------------------- |
|
||||||
|
| [Compose.purs](./src/Compose.purs) | Function composition do-notation |
|
||||||
|
| [Main.purs](./src/Main.purs) | Demo usage and existential-type do-notation |
|
10
purescript/ecs/README.md
Normal file
10
purescript/ecs/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Ecs
|
||||||
|
|
||||||
|
Purescript-wrapper for [thi.ng/ecs](thi.ng/ecs)
|
||||||
|
|
||||||
|
## File structure
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
| ---------------------------------- | ------------------------------------------------------- |
|
||||||
|
| [Types.purs](./src/Types.purs) | Type definitions |
|
||||||
|
| [Keys.purs](./src/Utils/Keys.purs) | Extract value-level arrays containing the keys of a row |
|
14
purescript/typelevel/README.md
Normal file
14
purescript/typelevel/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Typelevel
|
||||||
|
|
||||||
|
Experiments in the realm of typelevel Purescript computation.
|
||||||
|
|
||||||
|
## File structure
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
| ------------------------------------ | -------------------------------------------------- |
|
||||||
|
| [Ast.purs](./src/Ast.purs) | Typelevel sum-types and a bit of typelevel parsing |
|
||||||
|
| [Num.purs](./src/Num.purs) | Typelevel naturals |
|
||||||
|
| [Vec.purs](./src/Vec.purs) | Typelevel fixed-size lists |
|
||||||
|
| [Ordering.purs](./src/Ordering.purs) | Typelevel orderings |
|
||||||
|
| [Term.purs](./src/Term.purs) | Typelevel lambda-calculus evaluation |
|
||||||
|
| [Fin.purs](./src/Fin.purs) | Bounded naturals using a GADT representation |
|
Loading…
Reference in a new issue