http://isorecursive.livejournal.com/ ([identity profile] isorecursive.livejournal.com) wrote in [personal profile] metaclass 2012-11-07 09:06 am (UTC)

@ Что такое programming in large?
Что-то такое, но я подразумевал только systems-design/architecture-часть, безотносительно менеджмента.

@ Могут ли модули быть заменены записями?
Иногда могут, иногда нет - в зависимости от того, о каких модулях и каких записях речь.
На фундаментальном уровне все эти концепции крутятся вокруг типов-произведений, экзистенциальных типов, и сабтайпинга.
Для первого приближения я себе выработал такие соответствия:
непараметризуемые модули - это приблизительно то же самое (~), что и неймспейсы;
параметризуемые модули ~ записи, умеющие содержать те же виды деклараций, что и нечто, соответствующее обычным модулям в данном языке (где сами эти записи декларируются, например);
параметризуемые модули с сабтайпингом ~ классы в ООП.
Такие аналогии классов и записей с модулями лучше чувствуются в языках, где можно импортировать начинку экземпляров записей (Agda, Cayenne) и классов (Scala) в текущий скоуп.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting