errors2.m:005: Warning: the interface of module `errors2' does not export errors2.m:005: anything. errors2.m:005: To be useful, a module should export something. A file should errors2.m:005: contain at least one declaration other than `:- import_module' errors2.m:005: in its interface section(s). This would normally be a errors2.m:005: `:- pred' or `:- func' declaration, or a `:- type', `:- inst', errors2.m:005: `:- mode', `:- typeclass' or `:- instance' definition. errors2.m:009: Error: module `errors2' should start with either an errors2.m:009: `:- interface' or an `:- implementation' declaration. errors2.m:009: The following assumes that the missing declaration is an errors2.m:009: `:- implementation' declaration. errors2.m:009: Error: no clauses for predicate `bind_type_param'/2. errors2.m:011: Error: clause for predicate `bind_type_param'/1 errors2.m:011: without corresponding `:- pred' declaration. errors2.m:011: However, a predicate of that name does exist with arity 2. errors2.m:011: Inferred :- pred bind_type_param(int). errors2.m:011: The argument list difference from the arity 2 version is errors2.m:011: pred( errors2.m:011: - V_1, errors2.m:011: - V_2 errors2.m:011: + int errors2.m:011: ) errors2.m:025: Error: no clauses for predicate `produce_string'/1. errors2.m:027: Error: no clauses for predicate `expect_int'/1. errors2.m:033: In clause for predicate `type_error'/0: errors2.m:033: in argument 1 of call to predicate `errors2.expect_int'/1: errors2.m:033: type error: variable `X' has type errors2.m:033: string; errors2.m:033: expected type was errors2.m:033: int. errors2.m:033: The partial type assignment was: errors2.m:033: X_1: string errors2.m:040: In clause for predicate `type_error_2'/0: errors2.m:040: type error in unification of variable `X' errors2.m:040: and variable `Y'. errors2.m:040: `X' has type errors2.m:040: string, errors2.m:040: `Y' has type errors2.m:040: int. errors2.m:040: The partial type assignment was: errors2.m:040: X_1: string errors2.m:040: Y_2: int errors2.m:047: In clause for predicate `type_error_3'/0: errors2.m:047: in argument 1 of call to predicate `errors2.expect_int'/1: errors2.m:047: type error: variable `Y' has type errors2.m:047: string; errors2.m:047: expected type was errors2.m:047: int. errors2.m:047: The partial type assignment was: errors2.m:047: X_1: string errors2.m:047: Y_2: string errors2.m:062: In clause for predicate `type_error_4'/0: errors2.m:062: warning: variable `X' occurs only once in this scope. errors2.m:062: In clause for predicate `type_error_4'/0: errors2.m:062: in argument 3 of functor `foo_functor/3': errors2.m:062: type error in unification of argument errors2.m:062: and constant `1.0'. errors2.m:062: argument has type errors2.m:062: string, errors2.m:062: constant `1.0' has type errors2.m:062: float. errors2.m:062: The partial type assignment was: errors2.m:062: Y_1: int errors2.m:062: X_2: errors2.foo_type errors2.m:062: V_3: character errors2.m:062: V_4: string errors2.m:072: In clause for predicate `type_error_5'/0: errors2.m:072: warning: variable `X' occurs only once in this scope. errors2.m:072: In clause for predicate `type_error_5'/0: errors2.m:072: in argument 3 of functor `foo_functor/3': errors2.m:072: type error in unification of argument errors2.m:072: and constant `1.0'. errors2.m:072: argument has type errors2.m:072: string, errors2.m:072: constant `1.0' has type errors2.m:072: float. errors2.m:072: The partial type assignment was: errors2.m:072: Y_1: character errors2.m:072: X_2: errors2.foo_type errors2.m:072: V_3: int errors2.m:072: V_4: string errors2.m:078: In clause for predicate `type_error_6'/0: errors2.m:078: warning: variable `X' occurs only once in this scope. errors2.m:078: In clause for predicate `type_error_6'/0: errors2.m:078: in argument 3 of functor `bar_functor/3': errors2.m:078: type error in unification of argument errors2.m:078: and constant `1.0'. errors2.m:078: argument has type errors2.m:078: string, errors2.m:078: constant `1.0' has type errors2.m:078: float. errors2.m:078: The partial type assignment was: errors2.m:078: Y_1: character errors2.m:078: X_2: errors2.bar_1_type errors2.m:078: V_3: int errors2.m:078: V_4: string errors2.m:083: In clause for predicate `type_error_7'/0: errors2.m:083: warning: variable `Y' occurs only once in this scope. errors2.m:084: In clause for predicate `type_error_7'/0: errors2.m:084: warning: variables `A, B, Z' occur only once in this scope. errors2.m:085: In clause for predicate `type_error_7'/0: errors2.m:085: in argument 1 of call to predicate `errors2.expect_int'/1: errors2.m:085: type error: variable `C' has type errors2.m:085: string; errors2.m:085: expected type was errors2.m:085: int. errors2.m:085: The possible partial type assignments were: errors2.m:085: Type assignment 1: errors2.m:085: Y_1: errors2.foo errors2.m:085: Z_2: errors2.bar_1_type errors2.m:085: A_3: int errors2.m:085: B_4: character errors2.m:085: C_5: string errors2.m:085: errors2.m:085: Type assignment 2: errors2.m:085: Y_1: character errors2.m:085: Z_2: errors2.bar_1_type errors2.m:085: A_3: int errors2.m:085: B_4: character errors2.m:085: C_5: string errors2.m:085: errors2.m:085: Type assignment 3: errors2.m:085: Y_1: errors2.foo errors2.m:085: Z_2: errors2.bar_2_type errors2.m:085: A_3: character errors2.m:085: B_4: int errors2.m:085: C_5: string errors2.m:085: errors2.m:085: Type assignment 4: errors2.m:085: Y_1: character errors2.m:085: Z_2: errors2.bar_2_type errors2.m:085: A_3: character errors2.m:085: B_4: int errors2.m:085: C_5: string errors2.m:092: In clause for predicate `type_error_8'/0: errors2.m:092: error: undefined predicate `from_char_list'/2. errors2.m:092: That predicate is defined in module `string', which does not errors2.m:092: have an `:- import_module' declaration. errors2.m:092: Note that symbols defined in modules accessed via errors2.m:092: `:- use_module' declarations must always be fully module errors2.m:092: qualified. errors2.m:092: In clause for predicate `type_error_8'/0: errors2.m:092: in argument 1 of call to predicate `from_char_list'/2: errors2.m:092: error: undefined symbol `[]'/0. errors2.m:092: That symbol is defined in module `list', which does not have errors2.m:092: an `:- import_module' declaration. errors2.m:100: In clause for predicate `type_error_9'/0: errors2.m:100: type error in unification of variable `X' errors2.m:100: and variable `Y'. errors2.m:100: `X' has type errors2.m:100: {int, string, character}, errors2.m:100: `Y' has type errors2.m:100: {string, character, int}. errors2.m:100: The partial type assignment was: errors2.m:100: X_1: {int, string, character} errors2.m:100: Y_2: {string, character, int} errors2.m:100: V_3: int errors2.m:100: V_4: string errors2.m:100: V_5: character errors2.m:100: V_6: string errors2.m:100: V_7: character errors2.m:100: V_8: int