Подтвердить что ты не робот

Интерактивная совместимость Java Haskell

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

4b9b3361

Ответ 1

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

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