Functional List Prolog - For first year, semester 1 of a Computer Science degree - Flag in List Prolog that requires (strong) type statements. LP already doesn't replace variables in [[n,...],[...]] arguments (but does replace variables in arguments (that could have come from [[n,...]...]) without [[n,...]...]). - [v,...] as a command uses the value of the variable as a command. - function command can tell whether a value is a function - type statements are before the functions they refer to and when matched, they pass the call to the function. (Different clauses, i.e. a base case that takes a number as an argument and a non-base case that has a function as argument have different type statements. xx) Compound data structures are also allowed, where there is a list function. (There may be multiple types per item. x)