Aula 15
1 Strings
Tradicionalmente, em Prolog,strings são (como no haskell) 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 basico (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
1.1 string p/ listas
Ha na verdade 2 representações de caracteres
codes
são os inteiros pequenoschars
são simbolos cujo nome é apenas a letra
string_codes("abc efg 123",B). string_chars("abc efg 123",B).
2 Input
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).
3 Output
- Baixo nivel
- write formatado manual
print
4 Bibliotecas
Não há uma biblioteca padrão para "todas" as implementações de prolog. Eu nem sei se exite outras implementaçÕes que não o SWIProlog.