Announcing Puresheet: An extensible spreadsheet application on Halogen

I’m excited to announce the first release of Puresheet, a spreadsheet management browser based application implemented on Halogen.

At this point the project includes:

  • A minimalistic GUI with support for navigation, cell management, formula evaluation & automatic cell updates structured at this point as a monolithic Halogen component with plans to move to multiple (possibly renderless) components and a main component along with a global store via halogen-store.

  • A custom pure functional curried dynamically typed formula language taking inspiration from Purescript, Haskell & Scala along with a basic prelude. At this point neither custom data types nor records are supported and the language itself has quite some expressiveness compared to mainstream solutions such as Google Sheets or Excel, even supporting Purescript / Haskell 2010 pattern guards syntax.

  • A parser, and interpreter for the language with support for many features specific to formulas, like cell values and cell array & matrix ranges.

Here is a quick preview of the current state of the project:

I would gladly receive any feedback / criticism both for the technical implementation as well as for the current and planned application features, so feel free to either reply here, send me a message or create an issue on the repo.

This is my first contribution to the community and I think these kind of side-projects can really add traction and hopefully bring new life to the ecosystem and increase adoption, by demonstrating the expressiveness and ergonomics of both Purescript as a language and in this case Halogen as a framework as well.


A spreadsheet with an expression language that doesn’t suck. Imagine that! I hope this goes somewhere great!

1 Like