\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{url}
\usepackage{multicol}
\usepackage[left=1.8cm,top=4cm,bottom=2cm,right=1.8cm,nohead,nofoot]{geometry}
\usepackage{sectsty}
\usepackage{relsize}
\allsectionsfont{\sffamily\raggedright}
\begin{document}
\begin{figure}[t]
\hspace{0.2cm}
\begin{minipage}[t]{.55\textwidth}
\flushleft
\Huge\textbf{Haskell Weekly News}
\end{minipage}
\hfill
\raisebox{0.4cm}{
\begin{minipage}[t]{.40\textwidth}
\flushright
Issue 54, December 20, 2006\\
\url{http://sequence.complete.org/}
\end{minipage}
}
\hspace{0.5cm}
\hrule
\vspace{0.5cm}
\end{figure}
\setlength{\columnsep}{0.5cm}
\setlength{\multicolsep}{1cm}
\begin{multicols}{2}
\setcounter{unbalance}{3}
\raggedcolumns
\section*{Edison 1.2.1}
Robert Dockins announced the 1.2.1 release of Edison. Edison is a famous library of efficient, purely-functional data structures in Haskell. Notable changes from the previous version include: a new sequence implementation based on finger trees; documentation fixes dealing with the licence; added a few methods to EnumSet for wrapping and unwrapping the underlying Word
 
\section*{Basic serialisation library using SYB}
Stefan O'Rear announced GenericSerialize, a library for serialization using the existing generic-programming framework. It is often advocated that support for serialization should be added to the compiler (e.g. in the form of a deriving(Binary)). With this project Stefan wants to show that the existing infrastructure is sufficient, and has some advantages over a dedicated serialization interface. GenericSerialize supports multiple serialization modes.
 
\section*{vty 1.0}
Stefan O'Rear announced vty 1.0, a simple terminal interface library. It provides: handling of suspend/resume, window resizes, computation of minimal differences, minimizes repaint area, automatically decodes keyboard keys into (key,modifier) tuples, and more!
 
\section*{Monad.Reader call for copy}
Wouter Swierstra reminded us that its still not too late to write something for the next issue of The Monad.Reader! We have a nice issue slowly shaping up, but your contribution is still very welcome. Get in touch with Wouter if you intend to submit something -- the sooner you let him know what you're up to, the better.
 
\section*{Ranged Sets}
Paul Johnson announced that Ranged Sets now have a Monoid instance, and singletons (i.e. a range holding a single value), thanks to Jean-Philippe Bernardy.
 
\section*{CalDims 1.0 (RC 1)}
schneegloeckchen announced CalDims, a calculator aware of units. Its available from the Haskell wiki. It includes support for user defined basic units and derrived units; user defined functions; work sheets can be modified/saved via shell; (1/3)*3 == 1 (No rounding errors); built-in feature to simplify units and easy unit-conversion.
 
\section*{JoinCabal}
Dougal Stanton announced an alternative to mkcabal, for initialising new cabal projects: JoinCabal, available via darcs.  JoinCabal will create stub sources files with a license header, and appropriate license for you code, making it easier to set up a valid cabal build system.
 
\section*{Haskell Vim plugin}
Arthur van Leeuwen announced a new vim plugin for Haskell providing some preliminary folding support, easy insertion of type signatures into programs, and support for handling .hi files.
\bigskip
\hrule
\section*{Quotes}
\begin{itemize}
\item \emph{monochrom} 007 titles for Haskellers: fromForeignPtr withCString; You Only lift Twice; Bottoms Are Forever; The Monad with the Pure Function; For Your Types Only; A view to A seq; Licence to killThread; iterate Never Dies; unsafePerformIO Is Not Enough.
\end{itemize}
\end{multicols}
\vspace*{\fill}
\hrule
\hspace{0.5cm}
\flushleft
\begin{minipage}[t]{\textwidth}
\flushleft
\textbf{Choose higher order, polymorphic and purely functional. Choose Haskell.} \\
\url{http://haskell.org/} \\
\end{minipage}
\end{document}
