GitHub

Folders and files

NameName

Last commit message

Last commit date

Latest commit

-------------------------
What is MissingH?
-------------------------
It's a collection of Haskell-related utilities.  It is an extension of my
earlier work developing MissingLib for OCaml.
-------------------------
Major Features
-------------------------
 * Powerful Logging Framework for Haskell
   This framework provides a system of hierarchical loggers and
   modular handlers permitting fine-grained logging with a great deal
   of control and yet a simple and fast interface.  It's based on
   log4j for Java and logging for Python.
   Also included is a native-Haskell Syslog client.
 * Versatile modules to simplify everyday tasks:
   + FTP client library
   + E-mail client library
   + MIME types library to determine MIME types from files or URLs
   + Configuration file parser/generator
 * IO utilities make it easier to work with line-based text files
   and binary files
 * IO object virtualization so you can use one set of code to work
   on files of many different types
 * Filesystem virtualization so you can access various items with the
   same ease as your system's filesystem
 * Network utilities to streamline connections
 * List utilities including association list tools,
   list splitting, truncation, and delimiter joining
 * String utilities including removal of leading or trailing
   whitespace, joining, splitting, and truncation
 * Other utilities for threads, parsers, filenames, etc.
 * Printf utilities for formatting strings
 * GZip decompression
 * Hundreds of unit tests to verify proper functionality
 * DBM module abstraction
The following modules are are provided at this time, and more are
likely to follow:
MissingH.AnyDBM           * Generic DBM-like database infrastructure
MissingH.AnyDBM.          * Use a Map in the AnyDBM interface
 MapDBM
MissingH.AnyDBM.          * Simple persistent mapping storage
 StringDBM
MissingH.Bits             * Obtain individual bytes from a bitfield
MissingH.Cmd              * Trap errors during calls to external programs
MissingH.Checksum.*       * Utilities for calculating checksums over strings
MissingH.Compression.*    * Compression/decompression algorithms
MissingH.Compression.     * The Inflate algorithm from unzip and
  Inflate                   gunzip
MissingH.ConfigParser     * Configuration file parser
                          * Interpolation supported
                          * Compatible with Python and OCaml ConfigParsers
MissingH.Daemon           * Support for detaching from a terminal
MissingH.Debian           * Compare two Debian version numbers
                            [ does not require Debian to compile ]
MissingH.Debian.          * Parse debian/control files or output from
 ControlParser              various Debian commands that use the same format
                            [ does not require Debian to compile run ]
MissingH.Either           * Utilities for the Either type/Error monad
MissingH.Email.Parser     * Parse a flat string into component parts
                          * Walk through the components of a message
MissingH.Email.Sendmail   * Send a message via a locally-installed Sendmail
                            program
MisssingH.FileArchive.    * Support for analyzing and extracting
  GZip                      GZip archives
MissingH.Hsemail          * E-mail parsers
MissingH.HUnit            * Utilities for writing HUnit unit tests
MissingH.IO               * Copying data between files or handles
                          * Lazy operations on line input
MissingH.IO.Binary        * Binary I/O with Haskell Strings or [Word8]
                          * Lazy operations on binary blocks
                          * Binary file copy
MissingH.IO.HVFS          * Haskell Virtual File System
                          * Lets you emulate real filesystems and work
                            with multiple filesystems
MissingH.IO.StatCompat    * Utilities for simulating stat(2) structures
                            on home-grown filesystems or Windows
MissingH.IO.WindowsCompat * Provides POSIX-like functions on Windows
MissingH.List             * Association list manipulation
                          * List splitting and delimiter joining
                          * Truncation
MissingH.Logging          * Base logging types
MissingH.Logging.Handler  * Base handler types
MissingH.Logging.         * Logging to a stream
 Handler.Simple           * Logging to a file
MissingH.Logging.         * Logging to local or remote syslog
 Handler.Syslog           * No C library implementation required
MissingH.Logging.Logger   * Primary user interface to logging
                          * Documentation for the logging system
MissingH.Map              * Flip a Map and other utilities
MissingH.Maybe            * forceMaybe utility function
MissingH.MIMETypes        * Determine the MIME type of a file
                          * Guess an extension based on MIME type
MissingH.Network          * Establish TCP connections easily
                          * Trap SIGPIPE to prevent odd crashes
MissingH.Network.         * Versatile FTP client module
 FTP.Client               * Full support for uploads and downloads
                          * Passive or standard mode
                          * Lazy uploads and downloads
                          * Also provides low-level interface to issue
                            advanced server commands
MissingH.Network.         * Parse FTP protocol replies
 FTP.Parser
MissingH.Parsec           * Invert the sense of a parser
MissingH.Path             * Split apart filename components
                          * Recursive directory scanning
                          * Recursive file/directory removal (rm -r)
MissingH.Path.Glob        * Expand wildcards to obtain a list of files
MissingH.Path.WildPath    * Evaluate filenames or strings against wildcards
                          * Convert wildcards to regular expressions
MissingH.Regex.Pesco      * Perl-like regular expression operations and
                            operators
MissingH.Str              * Leading/trailing whitespace removal
                          * Beginning/ending tests
                          * Joining, splitting, and truncation
MissingH.Str.CSV          * Parsing of comma-separated value (CSV) files
MissingH.Threads          * Threaded callbacks
MissingH.Time             * Utilities for working with times and dates
MissingH.Time.            * Parsing of dates, similar to strptime() in C
 ParseDate
Wash.Mail.*               * Generate or parse e-mail messages
                          * Full support for headers and MIME
Wash.Utility.*            * Base64 codec
                          * Various Internet-related parsers
The entire library has no prerequisites save the Haskell standard
library and is designed to install without complexity on a variety of
systems.  It could also easily be embedded within your own source
trees so that users need not have it installed beforehand.
-------------------------
Author
-------------------------
MissingH was written by John Goerzen <jgoerzen@complete.org>.
arch-tag: general information

Read the original on github.com ↗