reflex-ghci: A GHCi widget library for use in reflex applications

[ bsd3, development, frp, library, program ] [ Propose Tags ]

Run GHCi from within a Reflex FRP ( application and interact with it using a functional reactive interface.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,,,,,,
Change log
Dependencies base (>=4.12 && <4.14), bytestring (>=0.10 && <0.11), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.5), fsnotify (>=0.3 && <0.4), optparse-applicative (>=0.14.0 && <0.16), process (>=1.6 && <1.7), reflex (>= && <0.9), reflex-fsnotify (>=0.2 && <0.3), reflex-ghci, reflex-process (>=0.3 && <0.4), reflex-vty (>=0.1.3 && <0.2), regex-tdfa (>=1.2.3 && <1.4), text (>=1.2 && <1.3), unix (>=2.7 && <2.8), vty (>=5.21 && <5.29) [details]
License BSD-3-Clause
Copyright 2020 Obsidian Systems LLC
Author Obsidian Systems LLC
Category FRP, Development
Bug tracker
Source repo head: git clone
Uploaded by abrar at 2020-11-06T16:39:32Z
Distributions NixOS:
Executables reflex-ghci
Downloads 2764 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for reflex-ghci-

[back to package description]


Haskell Hackage Hackage CI Travis CI BSD3 License

Run GHCi from within a Reflex FRP application and interact with it using a functional reactive interface.



A functional-reactive wrapper around GHCi that uses filesystem notifications to automatically reload haskell source files.

Reflex.Process.GHCi provides the core GHCi process-running infrastructure. If you want to run your own GHCi, directly control when it reloads, or build your own custom interface, look there.

Reflex.Vty.GHCi provides a few widgets that are useful when building a console GHCi interface. Use these components to assemble your own vty GHCi runner.


This package includes a reflex-vty-based executable, shown above. Module information (errors, warnings, etc) is shown in a scrollable pane on the top half of the screen and the output of any expression you (optionally) choose to evaluate is shown in a scrollable pane on the bottom half. The panes are resizable using the mouse.

$ reflex-ghci -h
Welcome to reflex-ghci

Usage: reflex-ghci [-c|--command COMMAND] [-e|--expression EXPR]
  Run a Haskell REPL that automatically reloads when source files change.

Available options:
  -c,--command COMMAND     The ghci/cabal repl command to
                           run (default: "cabal repl --repl-options=-Wall")
  -e,--expression EXPR     The optional expression to evaluate once modules have
                           successfully loaded
  -h,--help                Show this help text


Inspired by the fantastic ghcid project.