Skip to content

Conversation

@m-renaud
Copy link
Contributor

Overview

Default to initializing an executable when running cabal init non-interactively. This is inline with the other Haskell project initialization tools, as well as tools in other languages (such as Rust's Cargo).

This partially addresses #5696.

Rationale

It is more common to want a binary than a library because often one wants to simply play around with an idea then to develop a full fledged library to publish on Hackage. Additionally, the binary case is always more common than the library case because each library is depended upon by 1 or more executables.

Behaviour Change

Before:

cabal init --non-interactive produces a library.

The Library option is choice 1 in the interactive prompt list.

After:

cabal init --non-interactive produces a binary.

The Executable option is choice 1 in the interactive prompt list.


Please include the following checklist in your PR:

  • Patches conform to the coding conventions.
  • Any changes that could be relevant to users have been recorded in the changelog.
  • The documentation has been updated, if necessary.
  • If the change is docs-only, [ci skip] is used to avoid triggering the build bots.

Please also shortly describe how you tested your change. Bonus points for added tests!

@23Skidoo 23Skidoo merged commit e80adcf into haskell:master Jan 25, 2019
@23Skidoo
Copy link
Member

Merged, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants