coformat: Generate clang-format config based on some existing code base

[ bsd3, language, library, program ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/0xd34df00d/coformat#readme


[Skip to Readme]
Versions [faq] 0.2.1.0, 0.3.0.0
Change log ChangeLog.md
Dependencies aeson, async, async-pool, base (>=4.7 && <5), bytestring, can-i-haz, coformat, command, command-qq, containers, dom-selector, extra, fast-logger, generic-data, hashable, html-conduit, interpolate, lens, lens-aeson, monad-logger, mtl, optparse-generic, scientific, temporary, text, unordered-containers, xml-conduit, yaml [details]
License BSD-3-Clause
Copyright 2019 Georg Rudoy
Author Georg Rudoy
Maintainer 0xd34df00d@gmail.com
Category Language
Home page https://github.com/0xd34df00d/coformat#readme
Bug tracker https://github.com/0xd34df00d/coformat/issues
Source repo head: git clone https://github.com/0xd34df00d/coformat
Uploaded by 0xd34df00d at Mon Dec 30 00:50:54 UTC 2019
Distributions NixOS:0.3.0.0
Executables coformat-exe
Downloads 269 total (96 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 2019-12-30 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for coformat-0.3.0.0

[back to package description]

coformat

Code style formatters take a style description and format a code base accordingly.

coformat is dual to them: it takes a code base and produces a code style description for it! This is achieved by a cunning combination of state-of-the-art type system features (DataKinds, RankNTypes and GADTs, among others) and modern machine learning techniques (there is a numerical optimization step after all).

More seriously, this project only supports clang-format for now, but plugging other formatters (perhaps for other languages) should be trivial enough, provided there is an easy way to get the list of available options and their possible values.