S is print(T)
S is printq(T)
T is scan(S)
Converts term T to string S or vice-versa. The the argument must be not-instantiated variable.
The difference between print and printq is that if T is an expression then print first calculates it and then converts the result in a string. In the opposite, printq will convert T in a string without calculating it.
For example print(2+2) will return the string "4",
while printq(2+2) will return the string "2+2".