Skip to content
This repository has been archived by the owner. It is now read-only.
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

This project is unmaintained! Haskeleton is now available as a Stack template. Getting started with the new version is easy:

> stack new your-project haskeleton -p github-username=your-username -p 'author-name=Your Name'


Build Status

Haskeleton is a project skeleton for Haskell packages. It's a tool, like cabal init, for creating new packages. Unlike cabal init, packages created by Haskeleton are fully-featured and idiomatic. Your new package will have:

  • A library with its own source directory and section in the Cabal file.

  • An executable that depends on your library.

  • A comprehensive test suite including unit tests, property checks, doctests, program and documentation coverage, and code quality.

  • A benchmark suite for analyzing the peformance of your library.

For a more complete explanation of these features, read Haskeleton's introductory blog post. It also describes why you might want each of these things.

Haskeleton is implemented as a template for hi. To create a new package, run hi and point it to this repository. For example:

$ hi example \
    --repository git://
Creating new project with git repository:git://
    create  example/.gitattributes
    create  example/.gitignore
    create  example/.stylish-haskell.yaml
    create  example/.travis.yml
    create  example/
    create  example/
    create  example/HLint.hs
    create  example/Haskeleton.hs
    create  example/
    create  example/Makefile
    create  example/
    create  example/Setup.hs
    create  example/benchmark/Bench.hs
    create  example/benchmark/ExampleBench.hs
    create  example/executable/Main.hs
    create  example/library/Example.hs
    create  example/example.cabal
    create  example/test-suite/DocTest.hs
    create  example/test-suite/HLint.hs
    create  example/test-suite/HPC.hs
    create  example/test-suite/Haddock.hs
    create  example/test-suite/ExampleSpec.hs
    create  example/test-suite/Spec.hs
    create  example/tmp/.gitignore

Haskeleton works with hi version 1.x. The packages it creates work with GHC 7.8 and 7.6, along with the latest version of the Haskell platform (2014.2.0.0).

You can’t perform that action at this time.