[Haskell-cafe] [ANN] acme-dont-1.2 - a "don't" construct

Jack Kelly jack at jackkelly.name
Wed Apr 1 08:38:08 UTC 2020

Hello all,

I have taken over the maintainership of acme-dont, and am pleased to
announce a new acme-dont release on Hackage[1].

acme-dont provides a `don't` function, which does not execute its
argument. For example, the following code will not print anything:

    import Acme.Dont (don't)

    quiet :: IO ()
    quiet = don't $ putStrLn "You'll never see this on stdout"

New in this release:

* `don't` has been generalised from `Monad` to `Applicative`. If you
  have been waiting since GHC 8.0.1's release in 2016[2] to use `don't` with
  `-XApplicativeDo`, wait no longer.

* A test suite, to ensure that `don't` does not do anything. Previous
  versions could have been defined as `don't = void` for all we knew.

Also, the acme-dont community now has a new home on sourcehut. On there,
you can find the following invaluable resources:

* A source repository[3], to track further developement and new ways of
  not doing things, with a commit history reconstructed from the release
  tarballs uploaded to Hackage.

* A mailing list[4] for the acme-dont community to discuss the best ways
  of not doing things.

* A bug tracker[5] to handle reports, in case someone observes acme-dont
  doing something.

* Continuous integration[6], to ensure that acme-dont continues to not
  do things across multiple versions of GHC.

I would like to thank Gracjan Polak for uploading the initial releases
of `acme-dont`, and for maintaining the package these past eleven
years. I do not intend to betray the responsibility he has assigned me
in handing over this critical package.


-- Jack

[1]: https://hackage.haskell.org/package/acme-dont-1.2
[2]: https://www.haskell.org/ghc/download_ghc_8_0_1
[3]: https://git.sr.ht/~jack/acme-dont
[4]: https://lists.sr.ht/~jack/acme-dont-discuss
[5]: https://todo.sr.ht/~jack/acme-dont
[6]: https://builds.sr.ht/~jack/acme-dont

More information about the Haskell-Cafe mailing list