ats-format: A source-code formatter for ATS

[ ats, bsd3, development, language, parser, program ] [ Propose Tags ]

An opinionated source-code formatter for ATS (http:/

[Skip to Readme]
Versions [faq],,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies ansi-terminal, ansi-wl-pprint (>=0.6.8), array, ats-format, base (>=4.8 && <5), composition-prelude (>=, deepseq, directory, file-embed, htoml-megaparsec, lens, megaparsec, optparse-applicative, process, recursion-schemes, text, unordered-containers [details]
License BSD-3-Clause
Copyright Copyright: (c) 2017 Vanessa McHale
Author Vanessa McHale
Category Parser, Language
Home page
Source repo head: git clone
Uploaded by vmchale at 2017-12-19T05:47:49Z
Distributions NixOS:
Executables atsfmt
Downloads 26723 total (212 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2017-12-20 [all 4 reports]





Enable -Werror


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for ats-format-

[back to package description]


Build Status

This is a code formatter for ATS. It is a work-in-progress, but it can handle a subset of the language already.

If you find something that's not listed in feel free to open an issue.


atsfmt is configured with the .atsfmt.toml file. As an example:

ribbon = 0.6 # maximum ribbon fraction
width = 120 # maximum width
clang-format = false # call clang-format on inline code


To install, first install GHC, then cabal. Then

 $ cabal update
 $ cabal install ats-format


All code except test/data/left-pad.dats is license under the BSD3 license.