运行 此序言代码时显示错误

An error showing while run this prolog code

在 运行 此用于查找数字列表因子的序言代码时显示语法错误

factors( N , Fs ) :-
  integer(N) ,
  N > 0 ,  
  setof( F , ( between(1,N,F) , N mod F =:= 0 ) , Fs )
  .
fact(List ,Result) :- 
    display( maplist(factors,[10 12 16],Result))
  . 

这不是 Prolog 中的列表:

[10 12 16]

正确的写法是这样的:

[10, 12, 16]

列表元素之间需要逗号。