Thanks , it now works properly. I'll look at INV later.
In array.sats (development version , 0,0,07) , the array_foreach_clo is define like this :
fun{a:vt0p}
array_foreach_clo
{n:int}{fe:eff}
(
A: &(@[INV(a)][n])
, asz: size_t n
, f: &(&a) -<clo,fe> void
) :<fe> void // end of [array_foreach_clo]
Should it not be defined like this :
extern
fun{a:vt0p}
array_foreach_clo
{n:int}{fe:eff}
(
A: &(@[INV(a)][n])
, asz: size_t n
, f: &(&(INV(a))) -<clo,fe> void
) :<fe> void // end of [array_foreach_clo]
only difference is in type of f .