Совместимость с Haskell Java - PullRequest
13 голосов
/ 11 марта 2012

Какие современные решения для взаимодействия на Haskell / Java?Я видел статью о Лямбаде, написанную Мейером и Финном.Есть проект под названием GCJNI, но он кажется несущественным - ссылки на него не работают.Есть что-то, что можно использовать из коробки?

Ответы [ 2 ]

9 голосов
/ 11 марта 2012

Используя GHC FFI , вы можете создать разделяемую библиотеку , которая экспортирует функции из земли Haskell, которую Java затем может использовать через JNA . В качестве альтернативы вы можете взять эту же разделяемую библиотеку и написать некоторый связующий код, чтобы представить его через JNI для более "Java-y" интерфейса. Вы также можете сходить с ума и раскрыть достаточное количество JNI через FFI для Haskell, чтобы действительно запустить вашу Java (это в некотором смысле подход, который используется в документе Lambada).

Я считаю, что общий доступ к Haskell lib + JNA был бы самым простым и легким подходом. Это предполагает, что легче представить некоторые функции Haskell для Java, чем для представления некоторых объектов Java для Haskell. Для некоторого понимания того, как идти в другом направлении, вас может заинтересовать Salsa , то есть C #, а не Java, но могут представлять интерес принципы проектирования интерфейсов.

1 голос
/ 11 марта 2012

Не совсем взаимодействие, но вы можете использовать http rest или zeromq

http://www.zeromq.org/

Привязки к Haskell: http://www.zeromq.org/bindings:haskell

...