diff --git a/README.md b/README.md index 1cc83a3..c7094c6 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,19 @@ ![](logo/brick-final-clearbg-with-text.svg) -`brick` is a Haskell terminal user interface programming library in the -style of [gloss](http://hackage.haskell.org/package/gloss). This means -you write a function that describes how your user interface should look, -but the library takes care of a lot of the book-keeping that so commonly -goes into writing such programs. +`brick` is a Haskell terminal user interface (TUI) programming toolkit. +To use it, you write a pure function that describes how your user +interface should look based on your current application state and you +provide a state transformation function to handle events. `brick` exposes a declarative API. Unlike most GUI toolkits which require you to write a long and tedious sequence of "create a widget, now bind an event handler", `brick` just requires you to describe your -interface using a set of declarative combinators. Then you provide a -function to transform your application state when input or other kinds -of events arrive. +interface using a set of declarative layout combinators. Under the hood, this library builds upon [vty](http://hackage.haskell.org/package/vty), so some knowledge of Vty will be helpful in using this library. -Release Announcements / News ----------------------------- - -Find out about `brick` releases and other news on Twitter: - -https://twitter.com/brick_haskell/ - Example ------- @@ -71,6 +61,17 @@ at these projects: * `solitaire`, the card game: https://github.com/ambuc/solitaire * `sudoku-tui`, a Sudoku implementation: https://github.com/evanrelf/sudoku-tui +These third-party packages also extend `brick`: + + * [`brick-filetree`](https://github.com/ChrisPenner/brick-filetree) [[Hackage]](http://hackage.haskell.org/package/brick-filetree) - A widget for exploring a directory tree and selecting or flagging files and directories + +Release Announcements / News +---------------------------- + +Find out about `brick` releases and other news on Twitter: + +https://twitter.com/brick_haskell/ + Getting Started --------------- @@ -113,7 +114,7 @@ Feature Overview * Type-safe, validated input form API (see the `Brick.Forms` module) * A filesystem browser for file and directory selection * Borders can be configured to automatically connect! - + Brick-Users Discussion ----------------------