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’.
