Prolog /
IsoErrata7.12.2 and 8.1.2.1There is a confusion about what a "type" is. There seem to be 3 different groups:
In addition, there are ValidDomains in 7.12.2.c that are not listed in 8.1.2.1, presumably by mistake (eg. io_mode). 8.14.3.3.fThe template requires the type atom_or_atom_list for the 3rd argument, but strangely the required error term here is type_error(list,Operator). This results in (see examples) op(30,xfy,0) =====> error(type_error(list,0)) where type_error(atom,0) or type_error(atom_or_atom_list,0) would be more appropriate (but note that atom_or_atom_list is not among the ValidTypes listed in 7.12.2!). For ECLiPSe we have therefore opted for type_error(list,Op) only if Op is an improper list, and type_error(atom,Op) if Op is any other non-atom. 8.14.4 current_op/3There should be extra errors
Questions
|