2012-03-13 7 views
9

내 질문에 의해, 피터 Kriens에 의해 게시됩니다 : What If OSGi Ran Your Favorite Language?하스켈은 OSGi를 구현할 수 있습니까?

하스켈이 OSGi specifications을 구현할 수 있습니까? 그렇지 않다면, 왜?

+0

쿨 (cool) 관련 기사 __Dynamic 어플리케이션 __ 동적 인 어플리케이션 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.1406&rep=rep1&type=pdf 하스켈의 Yi 편집기를 "동적"으로 만들기 바닥. – drozzy

+0

하나의 Haskell 애플리케이션에서 OSGi를 구현하거나 분산 OSGi uServices를 다른 OSGi 인스턴스에 노출 시키거나 소비하는 것에 대해 이야기하고 있습니까? – oconnor0

+1

나는 그것이 대답의 일부가 될 것이라고 생각한다. 그것은 이것이 할 수있는 다른 방법이나 그것이 의미하는 바를 탐구 할 것이고 각각의 플러스와 마이너스와 함께 할 것이다. – drozzy

답변

1

하스켈이 OSGi 사양 (질문 2)을 구현하는 데 사용할 수 있는지 여부보다는 오히려 하스켈 (질문 1) 용 OSGi가있을 수 있는지 묻는 것 같네요.

약 1 : 나는 여러 층의 간접 지정을하지 않고서는 불가능하다고 생각합니다. 프로그래밍 언어로 OSGi를 구현하는 데 필요한 가장 중요한 언어 기능은 런타임에 모듈을 동적으로로드 및 언로드하는 것입니다. 이제는 OSGi가 간단한 방법으로 Java 클래스 로더를 사용하여이를 달성하는 영리한 방법이지만 코드 개발자는이를 인식하지 못하고 "import com.mypackage ..."를 계속 사용합니다.

하스켈은 충분한 지식이 없지만, 하스켈은 외부 라이브러리가 하스켈 인터프리터 내부로 들어가서 로딩 모듈을 차단하고 다른 하스켈 파일로 동적 경로를 변경할 수 있다는 점을 의심합니다.

약 2 : 언어 지원을 손상시키지 않지만 문자열 리터럴로 모듈을로드하는 것이 좋을 경우 OSGi의 핵심 아이디어를 구현하고 하스켈에서 사용하면 멋진 작은 프로젝트가됩니다.

마음에 드는 OSGi와 가까운 플러그인 프레임 워크를 가장 좋아하는 구현은 Java Plugin Framework입니다. 사람이 기대하는 것보다 적은 코드.

+0

Java Plugin 프레임 워크에 대한 유용한 팁 - 잘 모르겠습니다. OSGi가 허용되지 않는 미래 프로젝트를위한 멋진 작은 lib처럼 보입니다. – drozzy

+0

OSGi의 가장 차가운 부분 (대부분 분리되는 부분)은 서비스입니다. JPF는 Apache Felix OSGi 프레임 워크의 약 절반 크기이지만 추가 바이트의 경우 정식 표준, 나란히 버전 관리, 성장하는 에코 시스템 및 서비스를 얻습니다. –

관련 문제