├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── docs ├── 01-streams.md ├── 02-store.md ├── 03-env.md ├── 04-traced.md ├── 05-transformers.md ├── 06-comonad-fix.md ├── abstract-graphs.sh ├── bonus-cofree.md ├── bonus-zippers.md ├── cofree-graphs.sh ├── good-examples.md ├── images │ ├── burrito.png │ ├── cartesian-grid.png │ ├── convolution │ │ ├── animated.gif │ │ ├── blur.svg │ │ └── convolution.png │ ├── conway-grid.png │ ├── conway │ │ ├── blinker.gif │ │ ├── conway-iterations.png │ │ ├── glider-gun.gif │ │ ├── glider.gif │ │ ├── pulsar.gif │ │ └── rules.gif │ ├── dep-analysis │ │ ├── quiver.png │ │ ├── torches.png │ │ ├── trace-quiver.png │ │ └── traces-quiver.png │ ├── derivative │ │ ├── derivative-context.png │ │ ├── derivative-plot.png │ │ ├── derivative-point.png │ │ ├── derivative.png │ │ └── root-16.png │ ├── env │ │ └── trees.jpg │ ├── fix │ │ └── mind-blown.gif │ ├── flavour │ │ ├── doc-brown.jpg │ │ └── theres-more.gif │ ├── function-plot.png │ ├── grids │ │ ├── duplicate-grid-selected.png │ │ ├── duplicate-grid.png │ │ ├── formula-sheet.png │ │ ├── grid-selected.png │ │ ├── grid.png │ │ ├── sudoku copy.png │ │ ├── sudoku-puzzle.png │ │ └── sudoku-rules.png │ ├── list-demo-1.png │ ├── list-demo-2.png │ ├── list.png │ ├── questions │ │ ├── any-questions-dwight.gif │ │ ├── ask-me-anything.gif │ │ └── simpsons-questions.gif │ ├── rainwater.png │ ├── salad.png │ ├── skill-tree-demo-1.png │ ├── skill-tree-demo-2.png │ ├── skill-tree-demo-3.png │ ├── skill-tree-demo-4.png │ ├── skill-tree-demo-5.png │ ├── spreadsheets │ │ ├── example-spreadsheet.png │ │ ├── item-cost.png │ │ ├── spreadsheet-formula.png │ │ ├── spreadsheet.png │ │ └── total-cost.png │ ├── stats.jpeg │ ├── store │ │ ├── diagrams │ │ │ ├── warehouse-duplicate.png │ │ │ ├── warehouse-nothing.png │ │ │ ├── warehouse-seek-3.png │ │ │ ├── warehouse-seeks-1.png │ │ │ ├── warehouse.png │ │ │ └── warehouse.xml │ │ ├── experiment.jpg │ │ └── warehouse.jpg │ ├── stream-2.png │ ├── stream-drop.png │ ├── stream-dup.png │ ├── stream-next.png │ ├── stream.png │ ├── total-cost.png │ ├── traced │ │ └── fork.jpg │ ├── tree-before.png │ ├── tree-demo-1.png │ ├── tree-demo-2.png │ ├── tree-demo.png │ ├── tree.png │ ├── wire.png │ ├── zipper-duplicate.png │ ├── zipper-l1.png │ ├── zipper-l2.png │ ├── zipper-small.png │ └── zipper.png ├── rendered │ ├── 01-streams.pdf │ ├── 02-store.pdf │ ├── 03-env.pdf │ ├── 04-traced.pdf │ ├── 05-transformers.pdf │ └── 06-comonad-fix.pdf └── stream-graphs.sh ├── drafts ├── CoApply.hs ├── Dynamic │ └── Cofree.hs ├── FileTree.hs ├── Traced │ └── Newton.hs ├── UI │ ├── App.hs │ └── View.hs ├── UIPairing │ ├── App.hs │ ├── Pair.hs │ └── View.hs ├── Zipper │ └── Trans.hs └── abstract-comonads.md ├── package.yaml ├── src └── Comonads │ ├── Cofree.hs │ ├── Cofree │ ├── Adjunction.hs │ ├── Examples.hs │ ├── Newton.hs │ └── Trans.hs │ ├── Env.hs │ ├── Env │ ├── BankAccount.hs │ ├── Default.hs │ ├── Formatter.hs │ └── Greeter.hs │ ├── Fix │ ├── RepresentableStore.hs │ └── WFix.hs │ ├── Sheet.hs │ ├── SimpleSheet.hs │ ├── Store.hs │ ├── Store │ ├── Convolution.hs │ ├── Conway.hs │ ├── ConwayExercise.hs │ ├── DepAnalysis.hs │ ├── Derivative.hs │ ├── Dict.hs │ ├── HillClimb.hs │ ├── Middleware.hs │ ├── Newton.hs │ ├── Squared.hs │ └── Warehouse.hs │ ├── Stream.hs │ ├── Traced.hs │ ├── Traced │ ├── Builder.hs │ ├── Config.hs │ ├── DepAnalysis.hs │ ├── Derivative.hs │ ├── Homing.hs │ └── Zipper.hs │ ├── Transformers │ ├── Iter.hs │ ├── RegionReport.hs │ └── SimpleReport.hs │ ├── Tree.hs │ ├── Zipper.hs │ └── Zipper │ └── Rainwater.hs └── stack.yaml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/README.md -------------------------------------------------------------------------------- /docs/01-streams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/01-streams.md -------------------------------------------------------------------------------- /docs/02-store.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/02-store.md -------------------------------------------------------------------------------- /docs/03-env.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/03-env.md -------------------------------------------------------------------------------- /docs/04-traced.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/04-traced.md -------------------------------------------------------------------------------- /docs/05-transformers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/05-transformers.md -------------------------------------------------------------------------------- /docs/06-comonad-fix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/06-comonad-fix.md -------------------------------------------------------------------------------- /docs/abstract-graphs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/abstract-graphs.sh -------------------------------------------------------------------------------- /docs/bonus-cofree.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/bonus-cofree.md -------------------------------------------------------------------------------- /docs/bonus-zippers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/bonus-zippers.md -------------------------------------------------------------------------------- /docs/cofree-graphs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/cofree-graphs.sh -------------------------------------------------------------------------------- /docs/good-examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/good-examples.md -------------------------------------------------------------------------------- /docs/images/burrito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/burrito.png -------------------------------------------------------------------------------- /docs/images/cartesian-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/cartesian-grid.png -------------------------------------------------------------------------------- /docs/images/convolution/animated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/convolution/animated.gif -------------------------------------------------------------------------------- /docs/images/convolution/blur.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/convolution/blur.svg -------------------------------------------------------------------------------- /docs/images/convolution/convolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/convolution/convolution.png -------------------------------------------------------------------------------- /docs/images/conway-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway-grid.png -------------------------------------------------------------------------------- /docs/images/conway/blinker.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/blinker.gif -------------------------------------------------------------------------------- /docs/images/conway/conway-iterations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/conway-iterations.png -------------------------------------------------------------------------------- /docs/images/conway/glider-gun.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/glider-gun.gif -------------------------------------------------------------------------------- /docs/images/conway/glider.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/glider.gif -------------------------------------------------------------------------------- /docs/images/conway/pulsar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/pulsar.gif -------------------------------------------------------------------------------- /docs/images/conway/rules.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/conway/rules.gif -------------------------------------------------------------------------------- /docs/images/dep-analysis/quiver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/dep-analysis/quiver.png -------------------------------------------------------------------------------- /docs/images/dep-analysis/torches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/dep-analysis/torches.png -------------------------------------------------------------------------------- /docs/images/dep-analysis/trace-quiver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/dep-analysis/trace-quiver.png -------------------------------------------------------------------------------- /docs/images/dep-analysis/traces-quiver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/dep-analysis/traces-quiver.png -------------------------------------------------------------------------------- /docs/images/derivative/derivative-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/derivative/derivative-context.png -------------------------------------------------------------------------------- /docs/images/derivative/derivative-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/derivative/derivative-plot.png -------------------------------------------------------------------------------- /docs/images/derivative/derivative-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/derivative/derivative-point.png -------------------------------------------------------------------------------- /docs/images/derivative/derivative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/derivative/derivative.png -------------------------------------------------------------------------------- /docs/images/derivative/root-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/derivative/root-16.png -------------------------------------------------------------------------------- /docs/images/env/trees.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/env/trees.jpg -------------------------------------------------------------------------------- /docs/images/fix/mind-blown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/fix/mind-blown.gif -------------------------------------------------------------------------------- /docs/images/flavour/doc-brown.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/flavour/doc-brown.jpg -------------------------------------------------------------------------------- /docs/images/flavour/theres-more.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/flavour/theres-more.gif -------------------------------------------------------------------------------- /docs/images/function-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/function-plot.png -------------------------------------------------------------------------------- /docs/images/grids/duplicate-grid-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/duplicate-grid-selected.png -------------------------------------------------------------------------------- /docs/images/grids/duplicate-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/duplicate-grid.png -------------------------------------------------------------------------------- /docs/images/grids/formula-sheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/formula-sheet.png -------------------------------------------------------------------------------- /docs/images/grids/grid-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/grid-selected.png -------------------------------------------------------------------------------- /docs/images/grids/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/grid.png -------------------------------------------------------------------------------- /docs/images/grids/sudoku copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/sudoku copy.png -------------------------------------------------------------------------------- /docs/images/grids/sudoku-puzzle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/sudoku-puzzle.png -------------------------------------------------------------------------------- /docs/images/grids/sudoku-rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/grids/sudoku-rules.png -------------------------------------------------------------------------------- /docs/images/list-demo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/list-demo-1.png -------------------------------------------------------------------------------- /docs/images/list-demo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/list-demo-2.png -------------------------------------------------------------------------------- /docs/images/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/list.png -------------------------------------------------------------------------------- /docs/images/questions/any-questions-dwight.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/questions/any-questions-dwight.gif -------------------------------------------------------------------------------- /docs/images/questions/ask-me-anything.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/questions/ask-me-anything.gif -------------------------------------------------------------------------------- /docs/images/questions/simpsons-questions.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/questions/simpsons-questions.gif -------------------------------------------------------------------------------- /docs/images/rainwater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/rainwater.png -------------------------------------------------------------------------------- /docs/images/salad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/salad.png -------------------------------------------------------------------------------- /docs/images/skill-tree-demo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/skill-tree-demo-1.png -------------------------------------------------------------------------------- /docs/images/skill-tree-demo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/skill-tree-demo-2.png -------------------------------------------------------------------------------- /docs/images/skill-tree-demo-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/skill-tree-demo-3.png -------------------------------------------------------------------------------- /docs/images/skill-tree-demo-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/skill-tree-demo-4.png -------------------------------------------------------------------------------- /docs/images/skill-tree-demo-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/skill-tree-demo-5.png -------------------------------------------------------------------------------- /docs/images/spreadsheets/example-spreadsheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/spreadsheets/example-spreadsheet.png -------------------------------------------------------------------------------- /docs/images/spreadsheets/item-cost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/spreadsheets/item-cost.png -------------------------------------------------------------------------------- /docs/images/spreadsheets/spreadsheet-formula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/spreadsheets/spreadsheet-formula.png -------------------------------------------------------------------------------- /docs/images/spreadsheets/spreadsheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/spreadsheets/spreadsheet.png -------------------------------------------------------------------------------- /docs/images/spreadsheets/total-cost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/spreadsheets/total-cost.png -------------------------------------------------------------------------------- /docs/images/stats.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stats.jpeg -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse-duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse-duplicate.png -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse-nothing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse-nothing.png -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse-seek-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse-seek-3.png -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse-seeks-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse-seeks-1.png -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse.png -------------------------------------------------------------------------------- /docs/images/store/diagrams/warehouse.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/diagrams/warehouse.xml -------------------------------------------------------------------------------- /docs/images/store/experiment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/experiment.jpg -------------------------------------------------------------------------------- /docs/images/store/warehouse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/store/warehouse.jpg -------------------------------------------------------------------------------- /docs/images/stream-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stream-2.png -------------------------------------------------------------------------------- /docs/images/stream-drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stream-drop.png -------------------------------------------------------------------------------- /docs/images/stream-dup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stream-dup.png -------------------------------------------------------------------------------- /docs/images/stream-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stream-next.png -------------------------------------------------------------------------------- /docs/images/stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/stream.png -------------------------------------------------------------------------------- /docs/images/total-cost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/total-cost.png -------------------------------------------------------------------------------- /docs/images/traced/fork.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/traced/fork.jpg -------------------------------------------------------------------------------- /docs/images/tree-before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/tree-before.png -------------------------------------------------------------------------------- /docs/images/tree-demo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/tree-demo-1.png -------------------------------------------------------------------------------- /docs/images/tree-demo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/tree-demo-2.png -------------------------------------------------------------------------------- /docs/images/tree-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/tree-demo.png -------------------------------------------------------------------------------- /docs/images/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/tree.png -------------------------------------------------------------------------------- /docs/images/wire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/wire.png -------------------------------------------------------------------------------- /docs/images/zipper-duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/zipper-duplicate.png -------------------------------------------------------------------------------- /docs/images/zipper-l1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/zipper-l1.png -------------------------------------------------------------------------------- /docs/images/zipper-l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/zipper-l2.png -------------------------------------------------------------------------------- /docs/images/zipper-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/zipper-small.png -------------------------------------------------------------------------------- /docs/images/zipper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/images/zipper.png -------------------------------------------------------------------------------- /docs/rendered/01-streams.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/01-streams.pdf -------------------------------------------------------------------------------- /docs/rendered/02-store.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/02-store.pdf -------------------------------------------------------------------------------- /docs/rendered/03-env.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/03-env.pdf -------------------------------------------------------------------------------- /docs/rendered/04-traced.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/04-traced.pdf -------------------------------------------------------------------------------- /docs/rendered/05-transformers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/05-transformers.pdf -------------------------------------------------------------------------------- /docs/rendered/06-comonad-fix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/rendered/06-comonad-fix.pdf -------------------------------------------------------------------------------- /docs/stream-graphs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/docs/stream-graphs.sh -------------------------------------------------------------------------------- /drafts/CoApply.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/CoApply.hs -------------------------------------------------------------------------------- /drafts/Dynamic/Cofree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/Dynamic/Cofree.hs -------------------------------------------------------------------------------- /drafts/FileTree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/FileTree.hs -------------------------------------------------------------------------------- /drafts/Traced/Newton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/Traced/Newton.hs -------------------------------------------------------------------------------- /drafts/UI/App.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/UI/App.hs -------------------------------------------------------------------------------- /drafts/UI/View.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/UI/View.hs -------------------------------------------------------------------------------- /drafts/UIPairing/App.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/UIPairing/App.hs -------------------------------------------------------------------------------- /drafts/UIPairing/Pair.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/UIPairing/Pair.hs -------------------------------------------------------------------------------- /drafts/UIPairing/View.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/UIPairing/View.hs -------------------------------------------------------------------------------- /drafts/Zipper/Trans.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/Zipper/Trans.hs -------------------------------------------------------------------------------- /drafts/abstract-comonads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/drafts/abstract-comonads.md -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/package.yaml -------------------------------------------------------------------------------- /src/Comonads/Cofree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Cofree.hs -------------------------------------------------------------------------------- /src/Comonads/Cofree/Adjunction.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Cofree/Adjunction.hs -------------------------------------------------------------------------------- /src/Comonads/Cofree/Examples.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Cofree/Examples.hs -------------------------------------------------------------------------------- /src/Comonads/Cofree/Newton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Cofree/Newton.hs -------------------------------------------------------------------------------- /src/Comonads/Cofree/Trans.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Cofree/Trans.hs -------------------------------------------------------------------------------- /src/Comonads/Env.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Env.hs -------------------------------------------------------------------------------- /src/Comonads/Env/BankAccount.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Env/BankAccount.hs -------------------------------------------------------------------------------- /src/Comonads/Env/Default.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Env/Default.hs -------------------------------------------------------------------------------- /src/Comonads/Env/Formatter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Env/Formatter.hs -------------------------------------------------------------------------------- /src/Comonads/Env/Greeter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Env/Greeter.hs -------------------------------------------------------------------------------- /src/Comonads/Fix/RepresentableStore.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Fix/RepresentableStore.hs -------------------------------------------------------------------------------- /src/Comonads/Fix/WFix.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Fix/WFix.hs -------------------------------------------------------------------------------- /src/Comonads/Sheet.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Sheet.hs -------------------------------------------------------------------------------- /src/Comonads/SimpleSheet.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/SimpleSheet.hs -------------------------------------------------------------------------------- /src/Comonads/Store.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Convolution.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Convolution.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Conway.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Conway.hs -------------------------------------------------------------------------------- /src/Comonads/Store/ConwayExercise.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/ConwayExercise.hs -------------------------------------------------------------------------------- /src/Comonads/Store/DepAnalysis.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/DepAnalysis.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Derivative.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Derivative.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Dict.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Dict.hs -------------------------------------------------------------------------------- /src/Comonads/Store/HillClimb.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/HillClimb.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Middleware.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Middleware.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Newton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Newton.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Squared.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Squared.hs -------------------------------------------------------------------------------- /src/Comonads/Store/Warehouse.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Store/Warehouse.hs -------------------------------------------------------------------------------- /src/Comonads/Stream.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Stream.hs -------------------------------------------------------------------------------- /src/Comonads/Traced.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/Builder.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/Builder.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/Config.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/Config.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/DepAnalysis.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/DepAnalysis.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/Derivative.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/Derivative.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/Homing.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/Homing.hs -------------------------------------------------------------------------------- /src/Comonads/Traced/Zipper.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Traced/Zipper.hs -------------------------------------------------------------------------------- /src/Comonads/Transformers/Iter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Transformers/Iter.hs -------------------------------------------------------------------------------- /src/Comonads/Transformers/RegionReport.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Transformers/RegionReport.hs -------------------------------------------------------------------------------- /src/Comonads/Transformers/SimpleReport.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Transformers/SimpleReport.hs -------------------------------------------------------------------------------- /src/Comonads/Tree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Tree.hs -------------------------------------------------------------------------------- /src/Comonads/Zipper.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Zipper.hs -------------------------------------------------------------------------------- /src/Comonads/Zipper/Rainwater.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/src/Comonads/Zipper/Rainwater.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisPenner/comonads-by-example/HEAD/stack.yaml --------------------------------------------------------------------------------