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] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.3.1, 0.1.4.0
Change log ChangeLog.md
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.1 && <0.3), 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
Maintainer maintainer@obsidian.systems
Category FRP, Development
Bug tracker https://github.com/reflex-frp/reflex-ghci/issues
Source repo head: git clone https://github.com/reflex-frp/reflex-ghci
Uploaded by abrar at Fri Jan 31 03:23:25 UTC 2020
Distributions NixOS:0.1.4.0
Executables reflex-ghci
Downloads 344 total (258 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]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for reflex-ghci-0.1.4.0

[back to package description]

reflex-ghci

hackage hackage-ci travis-ci

screenshot

Library

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.

Executable

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

Acknowledgements

Inspired by the fantastic ghcid project.