Purescript Comonad Ui Todos Save

Simple task management application for my bachelor thesis based on Phil Freeman's Comonads as spaces

Project README

purescript-comonad-ui-todos

Simple task management application inspired by TodoMVC; written for the first part of my bachelor thesis Comonads for User Interfaces based on Phil Freeman's Comonads as spaces.

This simple application demonstrates three types of UIs modelled with three different comonads, namely:

  • the Store comonad: models a general architecture where every component fully exposes its state for read and write operations;
  • the Moore i comonad: isomorphic to Cofree ((->) i) or Traced [i], this comonad models the Elm architecture where user component inputs are given by a type i;
  • the Cofree f comonad: models an object-oriented architecture similar to that of Halogen.

We have implemented local storage in the browser for saving tasks for all UI examples. In the Moore example, however, it is still unclear what could be the best method for applying effects when of a component action (as the component state is private). We have used an ad hoc approach by replicating a save function when of every user action.

Build instructions

In order to build this application one must have the PureScript compiler (version 0.11.7) installed, as well as the npm and bower tools for package management.

After installing the prerequisites, simply run

make
Open Source Agenda is not affiliated with "Purescript Comonad Ui Todos" Project. README Source: arthurxavierx/purescript-comonad-ui-todos
Stars
53
Open Issues
1
Last Commit
3 years ago

Open Source Agenda Badge

Open Source Agenda Rating