Tradicionalmente, em Prolog, strings são uma lista de caracteres e caracteres são interos pequenos.
A = `abc efg 123`.
Implementação é um problema. SWI modificou o Prolog para que strings sejam um tipo básico (mas que pode ser convertido para listas).
manual do swiprolog para strings
A = "abc efg 123".
Entre "
é o tipo novo com predicados para processar esse tipo
string_concat
split_string
sub_string
Ha na verdade 2 representações de caracteres
codes
são os inteiros pequenos
chars
são simbolos cujo nome é apenas a letra
string_codes("abc efg 123",B).
string_chars("abc efg 123",B).
Leitura de baixo nivel (por caracter) manual
Leitura de termos de prolog completos (terminados por ponto). read
read(X).
SWI prolog tem um predicado read_string
que le strings (internos do SWIProlog).
print
Não há uma biblioteca padrão para todas as implementações de prolog.