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

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

Run GHCi from within a reflex application and interact with it using a functional-reactive interface.

[Skip to Readme]
Versions [faq],,,,,,
Change log
Dependencies base (==4.12.*), bytestring (==0.10.*), directory (==1.3.*), filepath (==1.4.*), fsnotify (==0.3.*), optparse-applicative (>=0.14.0 && <0.16), process (==1.6.*), reflex (>=0.6.3 && <0.7), reflex-fsnotify (==0.2.*), reflex-ghci, reflex-process (==0.2.*), reflex-vty (>=0.1.3 && <0.2), regex-tdfa (>=1.2.3 && <1.3), text (==1.2.*), unix (==2.7.*), vty (==5.25.*) [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-01-20T20:21:49Z
Distributions NixOS:
Executables reflex-ghci
Downloads 1144 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for reflex-ghci-

[back to package description]


hackage hackage-ci travis-ci



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: <interactive> [-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")
  -e,--expression EXPR     The optional expression to evaluate once modules have
                           successfully loaded (default: no expression)
  -h,--help                Show this help text


Inspired by the fantastic ghcid project.