% ids refer to http://www.complang.tuwien.ac.at/ulrich/iso-prolog/number_chars#1 "1" ?- number_chars(1.2,['1',.,'2']). true. "2" ?- number_chars(1.0e9,['1',.,'0','E','9']). true. "3" ?- number_chars(1,['0','1']). true. "4" ?- number_chars(1,[a]). syntax_error(_). "5" ?- number_chars(1,[]). syntax_error(_). "6" ?- number_chars(1,[[]]). type_error(character,[]). "7" ?- number_chars(1,[' ',[]]). type_error(character,[]). "8" ?- number_chars(1,[0]). type_error(character,0). "9" ?- number_chars(1,[_,[]]). type_error(character,[]). "10" ?- number_chars(N,[X]). instantiation_error. "11" ?- number_chars(N,['0'|_]). instantiation_error. "12" ?- number_chars(N,'1'). type_error(list,'1'). "13" ?- number_chars(N,[a|a]). type_error(list,[a|a]). "14" ?- number_chars(N,[49]). type_error(character,49). "15" ?- number_chars(N,[]). syntax_error(_). "16" ?- number_chars(N,['3',' ']). syntax_error(_). "17" ?- number_chars(N,['3',.]). syntax_error(_). "18" ?- number_chars(N,[' ','1']). N = 1. "19" ?- number_chars(N,['\n','1']). N = 1. "20" ?- number_chars(N,[' ','0','''',a]). N = 0'a. % N = 97. "21" ?- number_chars(N,[-,' ','1']). N = -1. "22" ?- number_chars(N,[/,*,*,/,'1']). N = 1. "23" ?- number_chars(N,['%','\n','1']). N = 1. "24" ?- number_chars(N,[-,/,*,*,/,'1']). syntax_error(_). "25" ?- number_chars(N,['1',e,'1']). syntax_error(_). "26" ?- number_chars(N,['1',.,'0',e]). syntax_error(_). "27" ?- number_chars(N,['1',.,'0',e,e]). syntax_error(_). "28" ?- number_chars(N,['0',x,'1']). N = 1. "29" ?- number_chars(N,['0','X','1']). syntax_error(_). "30b" ?- number_chars(N,['1','E','1']). syntax_error(_). "47" ?- number_chars(1,['.'|_]). false. "48" ?- number_chars(N,[+,'1']). syntax_error(_). "49" ?- number_chars(N,[+,' ','1']). syntax_error(_). "50" ?- number_chars(N,['''',+,'''','1']). syntax_error(_). "51" ?- number_chars(N,['11']). type_error(character,'11'). "52" ?- number_chars(N,['1.1']). type_error(character,'1.1'). "53" ?- number_chars(1+1,['2']). type_error(number,1+1). "31" ?- number_chars(1,[C]). C = '1'. "32" ?- number_chars(1,[C,D]). false. "33" ?- number_chars(1,[C,C]). false. "34" ?- number_chars(0,[C,C]). false. "35" ?- number_chars(10,[C,D]). C = '1', D = '0'. "36" ?- number_chars(100,[C,D]). false. "37" ?- number_chars(N,[X|2]). type_error(list,[_|2]) | instantiation_error. "38" ?- number_chars(N,[1|_]). instantiation_error | type_error(character,1). "39" ?- number_chars(V,[1|2]). type_error(list,[1|2]) | type_error(character,1). "40" ?- number_chars([],1). type_error(number,[]) | type_error(list,1). "41" ?- number_chars(1,1). type_error(list,1). "42" ?- number_chars(1,[a|2]). type_error(list,[a|2]). "43" ?- number_chars(1,[_|2]). type_error(list,[_|2]). "44" ?- number_chars(1,[[]|_]). type_error(character,[]). "45" ?- number_chars(1,[[]|2]). type_error(character,[]) | type_error(list,[[]|2]). "46" ?- L=['1'|L], number_chars(N,L). sto, false % occurs-check enabled | sto, type_error(list,['1','1'|_]) % rational trees, digraph representation | sto, instantiation_error % dag representation, literal substitution, Tau % new questions "54" ?- number_chars(V,[1,[],X|2]). type_error(list,[1,[],_A|2]) | type_error(character,1) | type_error(character,[]) | instantiation_error. "55" ?- number_chars(N,['''',-,'''','1']). N = -1.