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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.3.1, 0.1.4.0, 0.1.4.1, 0.1.4.1, 0.1.4.2, 0.1.5.0, 0.1.5.1, 0.1.5.2, 0.1.5.4, 0.2.0.0, 0.2.0.1
Change log ChangeLog.md
Dependencies base (>=4.12 && <4.13), 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.7.1.0 && <0.8), 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
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 3noch at 2020-06-10T14:54:38Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for reflex-ghci-0.1.4.1

[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 0.1.4.0

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

Acknowledgements

Inspired by the fantastic ghcid project.