Vector (Vector Foo) -> (Ptr (Ptr Foo) -> IO a) -> IO a?

Я делаю простую оболочку для библиотеки c, которой нужно передать список векторов. Требуется массив указателей на массивы. Чтобы сделать приятный интерфейс, я хотел бы иметь вектор (или список) векторов, но я действительно не могу понять, как это сделать в идиоматическом haskell. (Или любым другим способом, кроме копирования в память.)

Я ищу что-то вроде

Vector (Vector Foo) -> (Ptr (Ptr Foo) -> IO a) -> IO a  
6
задан aleator 29 June 2011 в 07:53
поделиться