For the last 4 hours or so, I have been trying to compile the enclosed fragment of SML/NJ Util library with Poly/ML 5.1. I can't understand why it behaves this way:
itz@unicorn:~/smlnj-lib-poly/Util$ poly Poly/ML 5.1 Release
use "lib-base-sig.sml" ;
... (* fine *)
use "lib-base.sml" ;
... (* fine *)
use "bit-vector-sig.sml";
... (* fine *)
use "bit-vector2.sml";
Error: in 'bit-vector2.sml', line 1. Can't match BitVector.vector to {} (Incompatible types) While checking (update) near structure BitVector :> BIT_VECTOR = struct local structure W8A = Word8Array; structure W8V = Word8Vector; val ...; ...; ... in type elem = bool; val ... = ...; datatype ...; ...; ... end end
Exception- Fail "Static errors (pass2)" raised
Is poly trying to unify BitVector.vector with a record type? Why?