core-program- Opinionated Haskell Interoperability

Safe HaskellNone




Support for building command-line programs, ranging from simple tools to long-running daemons.

This is intended to be used directly:

import Core.Program

the submodules are mostly there to group documentation.


Executing a program

A top-level Program type giving you unified access to logging, concurrency, and more.

Command-line argument parsing

Including declaring what options your program accepts, generating help, and for more complex cases [sub]commands, mandatory arguments, and environment variable handling.

Logging facilities

Facilities for noting events through your program and doing debugging.

There are a few common use cases which require a bit of wrapping to use effectively. Watching files for changes and taking action in the event of a change is one.