Pergunta

Cabala permite uma forma livre Estabilidade campo:

estabilidade: forma livre

O nível de estabilidade do pacote, por exemplo alpha, experimental, provisional, stable.

Quais são as convenções da comunidade sobre esses valores de estabilidade? O que é considerado experimental e o que é provisional? Vejo que apenas alguns pacotes são declarados como stable. Que tipo de estabilidade ele se refere, a estabilidade da API exposta ou o estado final do software sem bugs?

Foi útil?

Solução

O campo está principalmente extinto agora e não deve ser usado. Como Max disse, provavelmente será substituído por algo significativo no futuro.

Se você estiver interessado na história, o campo se originou em uma proposta de design para o primeiro conjunto de Bibliotecas hierárquicas de Haskell. Esse documento descreve os significados pretendidos originais para os valores.

Outras dicas

Atualmente, esse campo é um guia muito ruim para a estabilidade da biblioteca, o que é principalmente ignorado. Duncan Coutts (um dos principais desenvolvedores de Cabal e Hackage) disse que ele finalmente planeja substituir completamente esse campo, com algo como um sistema de votação social em hackage.

Pessoalmente (e não estou sozinho), sempre omito o campo de estabilidade. Dado que vai desaparecer, provavelmente não vale a pena perder o sono sobre o que colocar nele.

Os significados pretendidos originais eram:

  • experimental: a API é instável. Pode mudar a qualquer momento, ou seja: qualquer alteração do número da versão;
  • provisório: a API é movendo -se em direção à estabilidade. Pode ser alterado em todas as revisões menores, mas deve fornecer versões depreciadas de recursos;
  • estábulo: a API é estábulo. Somente adições devem ser feitas em pequenos lançamentos. Após as mudanças na API, os recursos depreciados devem ser mantidos para pelo menos uma grande liberação.

Como as outras respostas apontaram, a comunidade parece não ser Segue essas diretrizes mais.

Como Simon Marlow ressalta que isso é descrito em uma proposta de design para o primeiro conjunto de bibliotecas hierárquicas de Haskell. O link original está morto, mas você pode encontrar uma cópia no Wayback Machine.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top