SparQ Projects

This is some text

This is a catalog of my various projects. This is organized by source language, and within the source language into Libraries and Applications, listed alphabetically.

Table of Contents

1 Haskell

These days I do a lot of writing my own code in Haskell. I used to write a lot of Python code, which was fast and easy, but I've come to appreciate the power and safety of a strong typing system, and I find writing Haskell to be both fun and a good intellectual challenge.

1.1 Libraries

Footing

A collection of various low-level things I commonly use in other applications. These are mostly little convenience functions, nothing all that grand or unique.

LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/footing
LanguageHaskell
DocsFooting Haddock API Docs
Updateda long time ago
fsops

is a library of miscellaneous filesystem-related operations. I wrote this some time ago and there have been various other file operations libraries uploaded to Hackage, so consider this deprecated.

LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/fsops
LanguageHaskell
DocsFSOps Haddock API Docs
Updateda long time ago
ItemField
A library built on the vty-ui package that provides a selector field for a potentially large number of items. Each item is represented by a single character in the field, and the arrow keys and space bar can be used to move around and mark/unmark individual items. There are other display capabilities and operator keys available, but this is meant to be a high-density user-selection utility for situations where a list or radio-box group or similar interaction element is insufficient to handle the number of items potentially involved.
LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/ItemField
LanguageHaskell
DocsTBD…
UpdatedEarly 2013
OnRmt
is a Haskell library providing a vty-ui based gui (using the ItemSelector library) for performing operations on remote nodes via ssh.
LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/OnRmt
LanguageHaskell
DocsTBD…
UpdatedEarly 2013
Para
A utility to do paragraph formatting of text while honoring lists and other formatting elements. This library is convenient for displaying the help output of an application with sensitivity to terminal width sizing.
LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/Para
LanguageHaskell
DocsPara Haddock API Docs
ExternalPara on Hackage
Updated2010
TDisplay
The TDisplay project is a Haskell library providing "Tagged Data Display" capabilities whereby individual output components can have one or more "Tags" and also be grouped heirarchically to provide more useful information to the "View"/"Display" component.

This is still very much a concept/work-in-progress.

LicenseBSD3
VCSdarcs get http://www.sparq.org/projs/darcsrepos/tdisplay
LanguageHaskell
DocsTDisplay Haddock API Docs
Updateda long time ago

1.2 Applications

cabal-progdeps
This utility can be used to display the version dependency information for the program being built in the current directory. Essentially it parses the dist/setup-config and displays the information in a readable format. This can be very helpful when adding version constraints to your package's dependencies in that it shows what your package is currently built (or configured to be built) with.

n.b. It's called "progdeps" instead of "pkgdeps" because it's examining the build information in the current directory and not actual packages.

LicenseBSD3
VCSfossil clone http://www.sparq.org:8080/cabal-progdeps
LanguageHaskell
DocsTBD…
Updated2012
ghc-pkg-check
This utility can be used to verify the version of an installed package against version constraints. The version constraints can be specified in typical cabal fashion (e.g. >= 8.3, == 0.9.*, >= 8.3 && < 9.0).

Usage: cabalvchk package-name version-constraints [verbose]

Note that the version-constraints will probably need to be enclosed in single-quotes to prevent the shell from interpreting characters in the specification.

One use of this utility is by external configuration/validation utilities (e.g. autoconf) to verify installed package versions without running a cabal build. This utility produces no output (unless a third argument is specified) and the return value is 0 if the constraints are met or non-zero if the constraints are not met (including if the package is not installed).

LicenseBSD3
VCSfossil clone http://www.sparq.org:8080/ghcpkgcheck
LanguageHaskell
DocsTBD…
Updated2012

That's all.

Date: 2013-05-01T21:46-0700

Author: Kevin Quick

Org version 7.9.3f with Emacs version 24

Validate XHTML 1.0