Информация об изменениях

Сообщение Как вызвать функцию из Haskell в Rust ? И обратно ? от 06.11.2022 17:50

Изменено 06.11.2022 17:58 Эйнсток Файр

Как вызвать функцию из Haskell в Rust ? И обратно ?
Интересуют два сценария:

1) ("Мы должны пойти глубже") стартующее приложение написано на Haskell, оно загружает .so-файл (на linux) и вызывает там код, написанный на Rust.

2) ("Снизу постучали") библиотека на Rust отчаянно сигналит подписчикам о происходящих в процессе обработке событиях,
и вызывает коллбеки, переданные ей ранее из Haskell.

Интересует код как на Haskell, так и на Rust (т.е. обе взаимодействующие стороны).
Я понимаю, что объяснять там надо много, и про контексты, и про do-конструкцию, и про класс типов монады, и как в итоге всё-таки написать.

Так же интересуют примеры, когда без Rust не обойтись ну никак. Может обработка сообщений от ядра? Фантазии не хватает.
haskell
Как вызвать функцию из Haskell в Rust ? И обратно ?
Интересуют два сценария:

1) ("Мы должны пойти глубже") стартующее приложение написано на Haskell, оно загружает .so-файл (на linux) и вызывает там код, написанный на Rust.

2) ("Снизу постучали") библиотека на Rust отчаянно сигналит подписчикам о происходящих в процессе обработке событиях,
и вызывает коллбеки, переданные ей ранее из Haskell. Можно на примере идиоматичной графической rust-библиотки, без каких-то там обёрток над сишным Gtk+.

Интересует код как на Haskell, так и на Rust (т.е. обе взаимодействующие стороны).
Я понимаю, что объяснять там надо много, и про контексты, и про do-конструкцию, и про класс типов монады, и как в итоге всё-таки написать.

Так же интересуют примеры, когда без Rust не обойтись ну никак. Может обработка сообщений от ядра? Фантазии не хватает.
haskell