Bibliotecas


O Exercism tem como objetivo ensinar fluência na sintaxe, nas expressões idiomáticas e na biblioteca padrão da linguagem. Isso explicitamente não inclui bibliotecas externas (que não vêm embutidas na linguagem), pois esse é um assunto de proficiência. Assim, com poucas exceções, os exercícios devem poder ser resolvidos sem usar bibliotecas.

Motivos para dar suporte a bibliotecas

Existem alguns motivos pelos quais uma trilha pode ainda querer dar suporte a bibliotecas:

  1. A linguagem tem uma biblioteca padrão (muito) mínima. Um exemplo de linguagem assim é Rust.
  2. A biblioteca adiciona funcionalidades de teste. Um exemplo é uma biblioteca que adiciona suporte a testes baseados em propriedades.
  3. O exercício só pode ser resolvido usando uma biblioteca. Um exemplo disso é o exercício lens-person, que, na maioria das linguagens, só pode ser resolvido usando uma biblioteca.

Dar suporte a bibliotecas no executor de testes

Como o executor de testes não tem acesso à internet enquanto está rodando, não é possível baixar bibliotecas em tempo de execução. A única solução para esse problema é instalar/baixar as bibliotecas em tempo de build, quando você tem acesso à internet. Na prática, isso significa que você vai precisar instalar/baixar as bibliotecas dentro do Dockerfile.

Como exemplo, o Dockerfile do executor de testes de Prolog instala a biblioteca date_time:

RUN swipl pack install date_time -y

Documentação

Se a sua trilha dá suporte a bibliotecas, isso deve estar documentado em um documento da trilha. Também inclua um link para este documento (usando a URL completa) no documento exercises/shared/.docs/help.md.