Hi,

Saku Laesvuori <[email protected]> skribis:

> Is there a reason why our importers do not use their ecosystem's native
> packaging software libraries? For example, I just spent a good while
> updating and fixing our Haskell importers and while they do now seem
> quite reliable there are still some quirks in the custom parser. The
> Cabal package description format is implementation defined and full of
> compatibility switches, so I would expect it to be much easier to
> implement and maintain a Haskell program that uses the Cabal library to
> parse package descriptions into s-expressions for the rest of the
> importer.

Basically we choose to write our code in Scheme, it’s the lingua franca
of the project.

For Cabal, it does lead to extra work, as you write, but overall I think
it’s been beneficial since it allows us to have common infrastructure
and a single interface for all the packages we’re dealing with.

> I suppose other languages would have a similar library since they need
> to work with those package definitions too. Yet no importer seems to do
> anything like that. Is this just because many package indices provide a
> easy to parse json description or is there a technical/policy limitation?

Most package repositories provide JSON data structures, which is easy to
parse from Scheme, so the Cabal situation is more of an outlier I think.

Thanks,
Ludo’.

Reply via email to