Skip to content
This repository has been archived by the owner on Nov 8, 2021. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


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

Hasky Stack

This project is in “limited-maintenance” mode. I will not spend any of my time supporting it. You can still open PRs if you must, or you can take over if you wish. I'll mark the project as deprecated and stop supporting it altogether in some months.

License GPL 3 MELPA CircleCI

This is an Emacs interface to the Stack Haskell development tool.

Root menu

Build sub-menu

Package action menu


Download this package and place it somewhere, so Emacs can see it. Then put (require 'hasky-stack) into your configuration file. Done!

It's available via MELPA, so you can just M-x package-install RET hasky-stack.


Bind the following useful commands:

(global-set-key (kbd "<next> h e") #'hasky-stack-execute)
(global-set-key (kbd "<next> h h") #'hasky-stack-package-action)
(global-set-key (kbd "<next> h i") #'hasky-stack-new)
  • hasky-stack-execute opens a popup with a collection of stack commands you can run. Many commands have their own sub-popups like in Magit.

  • hasky-stack-package-action allows to perform actions on package that the user selects from the list of all available packages.

  • hasky-stack-new allows to create a new project in current directory using a Stack template.

Switchable variables

There is a number of variables that control various aspects of the package. They can be set with setq or via the customization mechanisms. This way one can change their default values. However, sometimes it's desirable to quickly toggle the variables and it's possible to do directly from the popup menus: just hit the key displayed under the “variables” section.

Switchable variables include:

  • hasky-stack-auto-target—whether to automatically select the default build target (build sub-popup).
  • hasky-stack-auto-open-coverage-reports—whether to attempt to automatically open coverage report in browser (build sub-popup).
  • hasky-stack-auto-open-haddocks—whether to attempt to automatically open Haddocks in browser (build sub-popup).
  • hasky-stack-auto-newest-version—whether to install newest version of package without asking (package action popup).


There is a number of customization options that are available via M-x customize-group hasky-stack.


Copyright © 2017–2019 Mark Karpov

Distributed under GNU GPL, version 3.


Interface to the Stack Haskell development tool







No packages published