[Haskell-community] Standard package file format

Harendra Kumar harendra.kumar at gmail.com
Fri Sep 16 06:20:15 UTC 2016


I am starting a new thread for the package file format related discussion.

>From a developer's perspective, the major benefit of a standard and widely
adopted format and is that people can utilize their knowledge acquired from
elsewhere, they do not have to go through and learn differently looking and
incomplete documentation of different tools. The benefit of a common config
specification is that developers can choose tools freely without worrying
about learning the same concepts presented in different ways.

Multiple formats flying around also create a psychological impression of
complexity in the ecosystem for newcomers. If we have consistency there are
better chances of attracting more people to the language ecosystem.

I gather the following from the discussion till now:

* We have cabal, YAML and TOML as potential candidates for a common package
format which can additionally incorporate the concept of snapshots/package
collections and potentially more extensions useful across build tools.

* cabal has the benefit of incumbency and backward compatibility, it has
shortcomings which are being addressed but it is still a format which is
very specific to Haskell ecosystem. It is not a standard and not going to
become one. We have to always deal with it ourselves and everyone coming to
Haskell will have to learn it.

* YAML (http://yaml.org/spec/1.2/spec.html) is standard and popular. A
significant chunk of developer community is already familiar with it. It is
being used by stack and by hpack as an alternative to cabal format. The
complaint against it is that the specification/implementation is overly
complex.

* TOML (https://github.com/toml-lang/toml) is promising, simpler than YAML
and is being used by a few important projects but is still evolving and is
not completely stable. On a first glance it looks pretty simple and a lot
of other tools use a similar config format. It is aiming to become a
standard and aiming for a wider adoption.

As a next step we can perhaps do an hpack like experiment using the TOML
format. That way we will have some experience with that as well and get to
know if there are any potential problems expressing the existing cabal
files.

More thoughts, opinions on the topic will help create a better
understanding about it.

-harendra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-community/attachments/20160916/0652eb38/attachment-0001.html>


More information about the Haskell-community mailing list