Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haskell-hvr/missingh
Utility library [Haskell]
https://github.com/haskell-hvr/missingh
haskell haskell-library
Last synced: 4 days ago
JSON representation
Utility library [Haskell]
- Host: GitHub
- URL: https://github.com/haskell-hvr/missingh
- Owner: haskell-hvr
- License: other
- Created: 2010-04-22T13:20:55.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-09-19T18:25:25.000Z (3 months ago)
- Last Synced: 2024-12-16T05:06:47.463Z (11 days ago)
- Topics: haskell, haskell-library
- Language: Haskell
- Homepage: https://hackage.haskell.org/package/MissingH
- Size: 2.9 MB
- Stars: 87
- Watchers: 8
- Forks: 40
- Open Issues: 8
-
Metadata Files:
- Readme: README
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
-------------------------
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
MapDBMMissingH.AnyDBM. * Simple persistent mapping storage
StringDBMMissingH.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 gunzipMissingH.ConfigParser * Configuration file parser
* Interpolation supported
* Compatible with Python and OCaml ConfigParsersMissingH.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 messageMissingH.Email.Sendmail * Send a message via a locally-installed Sendmail
programMisssingH.FileArchive. * Support for analyzing and extracting
GZip GZip archivesMissingH.Hsemail * E-mail parsers
MissingH.HUnit * Utilities for writing HUnit unit tests
MissingH.IO * Copying data between files or handles
* Lazy operations on line inputMissingH.IO.Binary * Binary I/O with Haskell Strings or [Word8]
* Lazy operations on binary blocks
* Binary file copyMissingH.IO.HVFS * Haskell Virtual File System
* Lets you emulate real filesystems and work
with multiple filesystemsMissingH.IO.StatCompat * Utilities for simulating stat(2) structures
on home-grown filesystems or WindowsMissingH.IO.WindowsCompat * Provides POSIX-like functions on Windows
MissingH.List * Association list manipulation
* List splitting and delimiter joining
* TruncationMissingH.Logging * Base logging types
MissingH.Logging.Handler * Base handler types
MissingH.Logging. * Logging to a stream
Handler.Simple * Logging to a fileMissingH.Logging. * Logging to local or remote syslog
Handler.Syslog * No C library implementation requiredMissingH.Logging.Logger * Primary user interface to logging
* Documentation for the logging systemMissingH.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 typeMissingH.Network * Establish TCP connections easily
* Trap SIGPIPE to prevent odd crashesMissingH.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 commandsMissingH.Network. * Parse FTP protocol replies
FTP.ParserMissingH.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 expressionsMissingH.Regex.Pesco * Perl-like regular expression operations and
operatorsMissingH.Str * Leading/trailing whitespace removal
* Beginning/ending tests
* Joining, splitting, and truncationMissingH.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
ParseDateWash.Mail.* * Generate or parse e-mail messages
* Full support for headers and MIMEWash.Utility.* * Base64 codec
* Various Internet-related parsersThe 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 .
arch-tag: general information