Skip to content

Build terminal applications using functional reactive programming (FRP) with Reflex FRP.

License

Notifications You must be signed in to change notification settings

reflex-frp/reflex-vty

Repository files navigation

reflex-vty

Haskell Hackage BSD3 License

Build terminal applications using functional reactive programming (FRP) with Reflex FRP.

Example Animation

Feature requests, pull requests, and other feedback are welcome and appreciated (see the contribution guide). This library is still experimental, so big changes are possible!

How to Build

With reflex-platform

Enter a nix-shell for the project:

git clone https://github.com/reflex-frp/reflex-vty.git
cd reflex-vty
nix-shell

From within the nix-shell you can:

  • Run the example: cabal repl example
  • Load the library in the repl: cabal repl reflex-vty
  • Build the example executable: cabal build example
  • Build the docs: cabal haddock
  • Run ghcid for immediate compiler feedback when you save a .hs file: ghcid -c "cabal repl reflex-vty --ghc-options=-Wall"
  • etc.
Selecting a compiler

When entering the nix-shell, you can select from the following compilers: ghc-8.10.7 and ghc-9.4.3. By default, ghc-8.10.7 is selected. To enter a shell with ghc-9.4.3, run:

nix-shell --argstr compiler ghc943

You may need to run cabal clean and cabal configure -w ghc-9.4.3 if you were previously working on the project with a different compiler.

With cabal

Please see the tested-with field of the cabal file for known-compatible versions of GHC.

From the reflex-vty project directory:

# nix-shell -p cabal-install binutils icu # for nix users
cabal new-configure
cabal new-build # to build the library and example
cabal new-repl # to enter a repl for the library
cabal new-repl example # to enter a repl for the example executable