coformat

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


Keywords
language, library, program, Propose Tags , Clang.Format.DescrParser, Clang.Format.Formatter, Clang.Format.StyOpts, Clang.Format.YamlConversions, Language.Coformat.Descr, Language.Coformat.Descr.Operations, Language.Coformat.Formatter, Language.Coformat.Formatter.Failure, Language.Coformat.Optimization, Language.Coformat.Pipeline, Language.Coformat.Score, Language.Coformat.Util, Language.Coformat.Variables
License
BSD-3-Clause
Install
cabal install coformat

Documentation

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.