Chapter 8. Appendix A: List of Keywords

The following is a list of all keywords in the Qore language that may not be used as funciton or method names and also may not be used as unquoted hash or object member names with the "." operator:

by, break, catch, const, context, continue, do, else, for, foreach, if, in, inherits, instanceof, namespace, my, NOTHING, NULL, on_error, on_exit, on_success, our, rethrow, return, sortBy, sortDescendingBy, sub, subcontext, summarize, switch, synchronized, thread_exit, throw, try, where, while

The following are special keywords, in that a parser trick is used allowing them to be used as function or method names if they are followed immediately by an open parenthesis (with no whitespace between the keyword and the open parenthesis), and they may be referenced as unquoted object or hash member names if they are immediately preceded by the "." operator (again with no whitespace between the "." and the keyword):

background, case, chomp class, delete, exists, foldl, foldr, map, pop, private, push, new, select, shift, splice, trim, unshift

The following are special keywords, in that a parser trick is used allowing them to be used as function or method names if they are followed by an open parenthesis (in the case of these keywords, it is permissable to have whitespace between the keyword and the open parenthesis), and they may be referenced as unquoted object or hash member names if they are immediately preceded by the "." operator (again with no whitespace between the "." and the keyword):

default, static

The following are special keywords, in that they may be referenced as unquoted object or hash member names if preceded immediately by the "." operator, however they may not be used as function or class method names:

elements, find, keys,