Assinaturas comuns para módulos

Introdução

Os módulos para uma mesma tarefa precisam implementar uma assinatura comum para que os consumidores dos módulos possam trocá-los facilmente e encontrar o melhor para o problema.

Esse diretório coleta especificações de assinaturas comuns. Esperamos que ele aumente com o tempo, à medida que são criados módulos para uma variedade maior de tarefas.

Na melhor das hipóteses, a especificação de uma assinatura comum fornece garantias fortes o suficiente para que os consumidores possam chamar simplesmente output = module(inputs) sem saber nada sobre os componentes internos do módulo. Se for inevitável fazer algumas adaptações, propomos atribuir funções de biblioteca para encapsulá-las e documentá-las com a assinatura.

De qualquer modo, a meta é fazer com que a troca de módulos diferentes para a mesma tarefa seja tão simples quanto a troca de um hiperparâmetro com valor de string.

Assinaturas