Если у вас есть идентификатор C, который вы импортируете в Haskell, вы можете преобразовать его в указатель на этот адрес с помощью синтаксиса "&" в объявлениях FFI , например:
foreign import ccall "&" bar :: Ptr CInt
Обычно это довольно редкая вещь, так как почти все, что вы импортируете, уже является указателем.
Сами значения Haskell также можно преобразовать в указатели, используя стабильные указатели , чтобы гарантировать, что сборщик мусора не затронет их.