[ bsd3, library, unclassified ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/pdlla/tinytools#readme

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],
Change log ChangeLog.md
Dependencies aeson, aeson-pretty, base (>=4.7 && <5), bimap, binary, bytestring, constraints-extras, containers, data-default, data-ordlist, deepseq, dependent-map, dependent-sum, dependent-sum-template, extra, filepath, hashable, ilist, lens, linear, listsafe, MonadRandom, mtl, patch, pretty-simple, random-shuffle, ref-tf, reflex (>=0.8 && <1), reflex-potatoes (>=0.1), reflex-test-host (>=0.1.2), relude, semialign, template-haskell, text, text-icu, these, vector, vty [details]
License BSD-3-Clause
Copyright 2022 Peter Lu
Author minimaple
Maintainer chippermonky@gmail.com
Home page https://github.com/pdlla/tinytools#readme
Bug tracker https://github.com/pdlla/tinytools/issues
Source repo head: git clone https://github.com/pdlla/tinytools
Uploaded by pdlla at 2023-05-21T03:29:25Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 33 total (14 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-05-21 [all 1 reports]

Readme for tinytools-

[back to package description]


tinytools is a mono-space unicode flow-chart editor written in Haskell.


tinytools follows a strict MVC architecture. This repository contains the platform-independent model and controller. The view/controller is connected to the model using a reflex interface defined by GoatWidget.

tinytools-vty is currently the only view implementation. It is written in reflex-vty and runs in a terminal yay. Please see tinytools-vty if you'd like to try it out.

features (completed)

  • sophisticated hierarchical layer system
  • transactional operations and change history
  • several highly configurable primitives including boxes, lines and text boxes
  • basic document save/load/export functionality



  • UNICODE wide character support (currently blocked by issues in TextZipper)
  • UNICODE glyph widget


  • multi-document support
  • refactor handle non-linear action do/undo operations in preparation for multi-user mode


  • grapheme clusters support (blocked by terminal support which is currently extremely inconsistent or non-existent)
  • multi-user mode
    • ordering service interface
    • basic single client authoritative implementation of ordering service interface (for now)
  • scriptable command interface