Может ли Haskell реализовать OSGi? - PullRequest
9 голосов
/ 13 марта 2012

Мой вопрос вызван сообщением Питера Криенса: Что если OSGi запускает ваш любимый язык ?

Итак, возможно ли для Haskell реализовать спецификации OSGi ? Если нет, то почему?

1 Ответ

1 голос
/ 19 апреля 2012

Полагаю, вы спрашиваете, может ли быть OSGi для Haskell (вопрос 1), а не может ли Haskell использоваться для реализации спецификации OSGi (вопрос 2).

О 1: Я неЯ думаю, что это возможно, не поднимая несколько уровней косвенности.Наиболее важной языковой функцией, необходимой для реализации OSGi для языка программирования, является динамическая загрузка и выгрузка модулей во время выполнения.Теперь OSGi - простым способом - это умный способ использовать загрузчики классов Java для достижения этой цели, тогда как разработчик кода этого не замечает, но продолжает использовать «import com.mypackage ...».

Я не знаю достаточно Haskell, но я сомневаюсь, что Haskell имеет точки подключения для внешней библиотеки, чтобы попасть внутрь интерпретатора Haskell, чтобы загружаемые модули могли быть перехвачены и динамически перенаправлены в другой файл haskell.

О 2: Если вы готовы поставить под угрозу языковую поддержку, но можете загружать модули строковыми литералами, тогда реализация основных идей OSGi и использование ее в Haskell будет хорошим маленьким проектом.

Моя любимая реализация плагина-фреймворка (по духу близкая к OSGi) - это Java Plugin Framework .Меньше кода, чем можно было бы ожидать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...