Как объявлять внешние функции в модулях

У меня есть следующий алгоритм, который я написал в модуле Julia

module two_algo export two function two(type) a = construct(type) b = construct(type) result = construct(type) unity(a) unity(b) add(a,b,result) return result end end

Когда-то у меня был этот алгоритм, определенный вне модуля, и он компилировался и мог отправлять в любой тип, который определял методы конструкции, единства и добавления. Но внутри модуля он не компилируется. Он не знает, как найти конструкцию, единство и сложение. Я не хочу импортировать их из какого-то конкретного модуля, потому что у меня может быть много модулей, каждый из которых, например, определяет конструкцию, единство и добавление. Что мне нужно сделать, чтобы это скомпилировалось? Помню, как в старые времена, когда я работал с C / C ++, я делал что-то столь же простое, как объявление конструкции extern; внутри модуля. Я действительно надеюсь, что смогу оставить функцию two (), чтобы она принимала один тип, а не передавала функции, которые реализуют конструкцию, единство и добавление. В идеале я бы также хотел избежать дженериков. Спасибо за любые указатели.

Чтобы увидеть небольшой пример кода до того, как я попытался разбить его на модули, см .: github.com/bdezonia / jzorb / tree / master / src   —  person Barry    schedule 18.01.2021

Источник: ledsshop.ru

Стиль жизни - Здоровье!