LINUX.ORG.RU

Haskell (ghc) и IPC


0

0

какими средствами IPC (inter-proccess communication) можно воспользоваться используя ghc, особенно интересует возможность использовать pipe и shared memory.

ps я в haskell'е совсем новичок, так что сильно не пинать.

★★
Ответ на: комментарий от rab_boziy

>Интересно, что ты пишешь на хаскелле, что интересуют подобные вещи? И почему именно хаскелл выбрал?

Во первых стало интересно ФП, и надо попрактиковаться.

Во вторых, как мне известно, ФП (в частности haskell) хорошо подходят для решения сложных задач, как например построение нейронной сети.

Почему нужно IPC? - для взаимодействия главной программы - демона, принимающего запросы (демон не на haskell'е), и модулей, предоставляющих определенные методы, в частности модуль "нейронной сети", так же возможно будет модуль, реализующий некоторый "генетический алгоритм". Ну это все планы-планы... =)

ale ★★
() автор топика
Ответ на: комментарий от ale

Посмотри на эрланг еще. Я на нем не писал ничего, но для твоей задачи вполне подходит, по-моему. Статической типизации там нет, правда, это удручает.

Бог в помощь.

rab_boziy
()

Про pipe уже сказано. Можно еще Unix domain сокеты использовать - см. модуль Network.

Begemoth ★★★★★
()

всем огромадное спасибо - буду читать

ale ★★
() автор топика
Ответ на: комментарий от ale

> Почему нужно IPC? - для взаимодействия главной программы - демона, принимающего запросы (демон не на haskell'е), и модулей, предоставляющих определенные методы, в частности модуль "нейронной сети", так же возможно будет модуль, реализующий некоторый "генетический алгоритм".

Как вариант еще - использовать hs-plugins. В его исходниках есть пример проги на ObjC использующей плагины на Haskell. ObjC думаю без проблем можно заменить на С/С++. Еще есть MissingPy - позволяет из Haskell вызывать код на Python (посмотри ож и наоборот можно).

ЗЫ: А почему демон не на Haskell?

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

спасибо за еще один источник познания =)

>ЗЫ: А почему демон не на Haskell?

во первых, я его (haskell) толком не знаю.

во вторых очертания демона уже есть (c++) =).

а в третьих, в случае МОЕЙ неудачи с haskell'ом - модули перепишу на c/c++, ведь общение с демоном будет вестись (скорее всего) через каналы и переписывать его (демон) не надо будет =)

ale ★★
() автор топика
Ответ на: комментарий от Begemoth

> Как вариант еще - использовать hs-plugins.

А ты его пользовал? Как оно вообще?

Про темплейт хаскелл что скажешь? Дотягивает до лисповских макросов по гибкости?

Когда я в последний раз смотрел (года полтора назад) все было в жуткой альфе, с кучей недоделок.

rab_boziy
()
Ответ на: комментарий от rab_boziy

> ты его пользовал? Как оно вообще?

Работает, но я его использовал в хаскеллной проге с хаскеллными плагинами (GHC 6.2, 6.4).

> Про темплейт хаскелл что скажешь?

Можно если по иному никак.

> Дотягивает до лисповских макросов по гибкости?

В принципе ЕМНИП из ТХ можно сгенерить любую программу. Вопрос в удобстве. А по удобству ему до лиспа как до луны пешком (quasiquote там слабоват).

DISCLAIMER: на ТХ я совсем немного смотрел, немного на нем писал.

ЗЫ: В хаскелле DSL принято библиотеками комбинаторов делать.

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

> ЗЫ: В хаскелле DSL принято библиотеками комбинаторов делать.

То есть как? Что-то слабо догоняю.

Еще вопрос: как в хаскелле обстоят дела с массивами? Удобно ли ими пользоваться? Год назад было просто ужасно. Только не надо говорить, что массивы не нужны, слишком уж много алгоритмов массиво-ориентированных человеки понасоздавали.

rab_boziy
()
Ответ на: комментарий от rab_boziy

см Parsec например

> Еще вопрос: как в хаскелле обстоят дела с массивами? Удобно ли ими пользоваться?

не знаю - мне пока не нужно было

Begemoth ★★★★★
()
Ответ на: комментарий от rab_boziy

> Еще вопрос: как в хаскелле обстоят дела с массивами? Удобно ли ими пользоваться? Год назад было просто ужасно.

Год назад? :) Массивы в хаскелле в неизменном виде уже лет 8 как минимум (стандарт Haskell 98, ч2 http://www.haskell.org/onlinereport/array.html). И что там ужасного?

Cantor ★★
()
Ответ на: комментарий от Begemoth

> Сейчас иерархические библиотеки все-таки актуальнее - на Х98 все равно почти(?) никто не пишет

Что ты этим хотел сказать? Как можно сравнивать библиотеки с language core, базовыми конструкциями языка? Да и библиотеки, тот же Data.Array например, реализует стандарт Haskell 98.

Cantor ★★
()
Ответ на: комментарий от Cantor

> И что там ужасного?

Да я попытался метод Гаусса реализовать... Мучался 2 дня, потом на С сделал за полчаса. Совсем неудобно. Если представить, как на хаскелле реализуются более сложные методы... Ужас, одним словом.

rab_boziy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.