New language constructs. The 'WAM' in the name refers to the Warren Abstract Machine, one of the more efficient ways to implement Prolog in a procedural language.
Also, using the SICStus interface and semantics for attributed variables should make for some very general constraint solvers, yes.
What do you think about answer-set programming vs more general solvers like SICStus.
I don't know enough about answer set programming to give much of an answer. Sorry.