Introduction

To package Haskell modules we have to somehow write and maintain a .cabal file.

There’s various ways of creating a .cabal package definition, kickstarting with cabal init or summoner or by copying another cabal file and changing field values by hand.