2013-05-30 3 views

답변

0

나는 박스에서 보관 가능한 상태로가는 끔찍한 해킹 방법을 상상할 수 있지만, 실제로는 해키하고 비효율적입니다! 사실, 그것을 통해 일한 나는 실제로 그것을 쓰고 싶지 않습니다. Unbox를 사용하여 수행 할 수있는 작업은 모두 상자가없는 벡터에서 작업하는 것입니다. 따라서 싱글 톤 요소로 박스 안의 벡터를 초기화 할 수 있습니다. 해당 요소가 주어지면 벡터를 생성 한 다음 악의에 의해 벡터를 제거하고 Storable 인스턴스에 직접 바이트를 사용할 수 있습니다. 똑같이 악의적으로 다른 방향으로 갈 수 있습니다.

하지만 왜이 작업을하고 싶은지 잘 모르겠습니다. 기본적으로 Storable 인 대부분의 데이터 유형은 Unbox이며 그 반대의 경우도 마찬가지입니다. 그리고 그렇지 않은 사람들을 위해 Storable을 파생시키는 것은 수동 또는 도구를 사용하여 충분히 쉽습니다.

2

vector 패키지를 확인하십시오.

Data.Vector.convert :: (Vector v a, Vector w a) => v a -> w a을 사용하십시오.

+0

난 당신이 [벡터 패키지 (HTTP에 언급 변환 기능을 찾을 수 없습니다 : //hackage.haskell.org/packages/archive/vector/0.5/doc/html/Data-Vector.html). 또한 타입 서명을 기반으로 어떻게 도움이 될지 모르겠습니다. –

+0

'Data.Vector' 모듈/문서 맨 끝 부분을보십시오. – vivian

+0

내가 보는 것은'toList'와'fromList'이고 [hoogle 검색] (http://www.haskell.org/hoogle/?hoogle=convert)은 아무것도 가져 오지 않습니다. –

관련 문제