... | ... | @@ -42,7 +42,7 @@ do { -- convert a list of strings into a C array of stable pointers to those s |
|
|
; let elemSize = fromIntegral $ sizeOf (undefined :: StablePtr String)
|
|
|
|
|
|
-- invoke C land 'qsort_b' with a Haskell comparison function passed as a block object; mutates 'myCharactersArray'
|
|
|
; qsort_b myCharactersArray (length myCharacters) elemSize
|
|
|
; qsort_b myCharactersArray (genericLength myCharacters) elemSize
|
|
|
(\l r -> do { l <- deRefStablePtr =<< peek lPtr
|
|
|
; r <- deRefStablePtr =<< peek rPtr
|
|
|
; return $ fromOrdering (l `compare` r)
|
... | ... | |