haskore-vintage: The February 2000 version of Haskore.

[ bsd3, library, music ] [ Propose Tags ]

The February 2000 version of Haskore.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3
Dependencies base (<5) [details]
License BSD-3-Clause
Author Paul Hudak
Maintainer diatchki@galois.com
Category Music
Home page http://haskell.org/haskore/
Source repo head: git clone https://github.com/yav/haskore-vintage
Uploaded by IavorDiatchki at 2015-10-13T18:11:54Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2773 total (17 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-10-13 [all 1 reports]

Readme for haskore-vintage-0.3

[back to package description]
NOTE: This is a Cabalized version of what is described bellow.
The changes from the version bellow are as follows:
  1. It lacks the CSound support,
  2. The library modules are in the Haskore.* part of the name space,
  3. The examples were sperated from the core library source.

- Iavor (iavor.diatchki@gmail.com)

Original notes for February 2000 release:

 			 Haskore Music System

This is the February 2000 release of Haskore, available from:


This version improves on the previous release through limited support
for Csound (thanks to Matt Zamec), the very popular computer music
package written as a pre-procesor to C.  This support comes in two

-- There is a translator from Haskore to Csound score files, thus
   providing another platform besides Midi on which to experience
   your compositions.

-- You can design new instruments, in the style of Csound's orchestra
   files, using a special data type in Haskore.  A translator then
   converts this data type into a Csound orchestra file.  Currently
   support is provided for the basic synthesis elements --
   oscillators, delay lines, basic filters, and basic effects --
   but it is easy to add more of the (hundreds of) Csound primitives
   if one desires.

For more details, see Section 12 of the Tutorial.

Haskore can also now be used under both Hugs and GHC (thanks to Stefan
Ratschan).  The files in the directory "ghc_add" are additions which
are just needed when working with GHC.  In this case, they should be
moved into the source directory ("Src"), after which you just call
"make" in the source directory which will build the file haskore.a and
a set of .hi files.  These .hi files need to be in the interface file
path when compiling applications of Haskore (see the -i GHC option).

Note that the file ghc_add/IOExtensions.hs is a partial replacement of
a library file of the same name under Hugs.  It does not work yet on
Windows/GHC (where one has to distinguish between binary and text IO).

The best way to use the system with Hugs is to drop the entire Haskore
directory into Hugs/lib (replacing the one that's there).  All of the
files except this README file are in the directory Src.

Important files in the distribution:

1) "Haskore.lhs" will load the entire basic Haskore system.  If your
   Hugs has the proper paths set up, once you drop this directory into
   Hugs/lib, you should be able to just say "import Haskore" and
   everything should work correctly.
2) Loading "HaskoreExamples.lhs" loads the above plus several other
   modules containing useful demonstrations of "Haskore in Action".
3) "tutorial.tex" is the root of the Haskore Tutorial, a literate
   script that imports most other files in the directory.  
   "turorial.ps" is the postscript version of this.

This release builds upon the November 1998 version, which improved
over previous releases in several ways:

  1) You can now read MIDI files and convert them into Music values.
  2) There is good support for percussion, based on the General Midi
     percussion standard.
  3) There are a number of new higher-level music constructions, the
     most notable being functions for trills, and a parallel
     composition operator that truncates the result to the shortest of
     the two inputs.
  4) A change in the underlying type for Durations, from Float to
     Ratio Integer.  This is the only incompatible change.
  5) Lots of code improvements.

Comments, questions, suggestions, etc. can be sent to me at the
address below.

Professor Paul Hudak                  
Department of Computer Science         Office: (203) 432-4715
Yale University                        FAX:    (203) 432-0593
P.O. Box 208285                        email:  paul.hudak@yale.edu
New Haven, CT 06520-8285
WWW: http://www.cs.yale.edu/users/hudak-paul.html