\end{haskelllisting}
A chord symbol consists of its root, its bass note, and the description of the type of
chord. The chord type description is currently in free (string) form and only used by some
very experimental code.
\begin{haskelllisting}

\end{haskelllisting}
Now we define input and output of chord symbols. Note that we denote sharp and
flat root notes by '\#' and 'b' respectively, instead of 's' and 'f' as in
Haskore.
\begin{haskelllisting}

\end{haskelllisting}
Now we are going to determine the according scale for various chords. Not that such
``default scales'' exist only for some few chords. We plan to implement a
detailed scale analyzer for chord charts (see section~\ref{sec:charts}) in the
future.
\begin{haskelllisting}