|
@@ -28,11 +28,11 @@ unpackModule modulepath =
|
|
|
, " -> Ivory ('Effects r b (Scope s0)) ()"
|
|
|
, "unpackWithCallback arr offs k = do"
|
|
|
, " o <- deref offs"
|
|
|
- , " let sufficient_remaining = ((o + sizeOf (Proxy :: Proxy a)) <?"
|
|
|
- , " sizeOf (Proxy :: Proxy (Array n (Stored Uint8))))"
|
|
|
+ , " let sufficient_remaining = ((o + fromIntegral (packSize (packRep :: PackRep a))) <?"
|
|
|
+ , " arrayLen arr)"
|
|
|
, " when sufficient_remaining $ do"
|
|
|
, " v <- local izero"
|
|
|
, " unpackFrom arr o v"
|
|
|
+ , " offs += fromInteger (packSize (packRep :: PackRep a))"
|
|
|
, " k (constRef v)"
|
|
|
- , " offs += undefined"
|
|
|
]
|