gpcsets: Generalized Pitch Class Sets for Haskell.

[ bsd3, data, library ] [ Propose Tags ]

An implementation of musical pitch class sets for Haskell. This library is capable of handling standard 12-tone pitch class sets and tone rows. However, it is also capable of handling GENERAL pitch class sets, which may come from alternative equal temperament systems.

[Skip to Readme]
Versions [faq],,
Dependencies base [details]
License BSD-3-Clause
Author Bruce H. McCosar
Category Data
Uploaded by BruceMcCosa at Sat May 9 19:52:13 UTC 2009
Distributions NixOS:
Downloads 1744 total (54 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for gpcsets-

[back to package description]
                gpcsets: Pitch Class Sets for Haskell
                           Bruce H. McCosar

This is the first-ever release for my General Pitch Class Sets library.
It's still being built.  Right now I have 1 out of 5 modules complete.
However, the one module that's complete is the main module, and it has
been subjected to an enormous amount of test code (frightening, really).

Places to find out more information


    Pitch Class Sets for Python.  The original.  Only handles 12-TET.
    I've got links to online Pitch Class Set references there, in case
    you're new to all this.


    My Wordpress Music blog.  Until I get the gpcsets library in final form,
    this is the spot to find out information about upcoming releases and
    current work on this project.

Features of this Package

  * Data.PcSets is complete.  It's fully documented through Literate Haskell
    AND through Haddock.

  * There's an enormous test suite in test/Test/PcSets.lhs

  * Future modules are planned: Svg, for Scalar Vector Graphics representation
    of pitch class sets; Notes, for standard representations of pitch class
    sets (eg "C E G B" instead of [0,4,7,11]); Compact for the "compact format"
    representation of pitch class sets (eg 047B instead of "C E G B"); and
    Catalog for calculating prime set catalogs in different modulus systems.

  * The skeletons of the other modules and test suites are there.  Most of
    the code is written, and just needs ported from my earlier versions (which
    didn't use the Haskell class system) to the modern version.

Release Schedule

This is still a work in progress.  I'm planning on releasing this series (and
any bug fixes) as 0.9.0.x.  Each module I add thereafter will increase the
third number by one, eg 0.9.1.x.  Therefore, if I finish four new modules
and four new test suites, I should end up at 0.9.8.x.  When all of the smoke
clears and the entire library has been tested, tested, and retested, I'll
call it "stable" and put it out there as 1.0.0.

This file is part of gpcsets: Pitch Class Sets for Haskell
Copyright 2009 by Bruce H. McCosar.
Distributed under a BSD3 license; see the file 'LICENSE' for details.