Będziesz musiał napisać kod z haskela, który przekaże te dane do tych, których możesz użyć w Haskell. Narzędzie C 2H jest bardzo pomocne w tym względzie: http://hackage.haskell.org/package/c2hs
Chociaż narzędzie pojawia być zaprojektowane do wywoływania C Haskell, jest również bardzo przydatny dla przeciwnej w pewnym sensie - to pozwala na Marszałkowskiego złożonego C typy do typów Haskella. Ponieważ funkcje, które wyeksponujesz będą musiały przyjmować typy C (zazwyczaj wskaźniki do złożonych struktur), wtedy możesz A) konstruować odpowiednie struktury C, a B) korzystać z funkcji c2hs zapewnia, aby następnie przenieść te struktury do Haskella w swoich eksponowanych funkcjach , abyś mógł z nimi pracować.
Należy również pamiętać, że przy użyciu narzędzi generowanych w stylu c2hs nie ma potrzeby porządkowania wszystkiego. Możesz po prostu wygenerować dostęp do podglądu części struktur danych C, na których ci zależy.
Co zrobić z IPC z [gniazdem domeny UNIX] (https://en.wikipedia.org/wiki/Unix_domain_socket)? –
IPC wymaga zestawiania po obu stronach. Jest to pewnego rodzaju rozwiązanie, ale wciąż wymaga wiele pracy i nie jest wydajne, jak mogłoby być. – remdezx
Nie próbowałem go, ale może być przydatny dla ciebie: https://github.com/wavewave/fficxx – Yuras