Существуют ли языки программирования с не синглтонными модулями? - PullRequest
1 голос
/ 10 августа 2011

Существуют ли языки программирования с подпрограммами импорта модулей, которые имеют следующее поведение:

import lib as x
import lib as y
x == y # False

Это в синтаксисе Python;хотя Python вернет True из сравнения.Я не знаю языка, который имеет такое поведение.Есть ли случай, когда это явно «языковая функция», а не обходной путь ?

1 Ответ

4 голосов
/ 11 августа 2011

Модули CommonJS и Модули NodeJS предлагают такой случай, когда каждый запрос на импорт / запрос возвращает объект, который назначен переменной, а затем доступ к функциям осуществляется по этой ссылке.

Модули Newspeak (PDF) предлагают более ориентированный на исследования подход, когда модули создаются с параметрами и затем назначаются в переменную / локальную ячейку, что обеспечивает еще большую гибкость, но, очевидно, Newspeak нешироко используемый.

...