####
# Arguments
CHOSEN_ARG_NAME = "__ctrl_chosen__"
PARTITION_ARG_NAME = "__ctrl_partition__"
K_ARG_NAME = "__ctrl_k__"
SORT_CMP_ARG_A_NAME = "__ctrl_a__"
SORT_CMP_ARG_B_NAME = "__ctrl_b__"
CLASS_ARG_NAME = "self"


####
# Methods
PRE_CONTROLLER_METHOD_NAME = "pre_controller"
FILTER_METHOD_NAME = "filter"
SORT_KEY_METHOD_NAME = "sort_key"
SORT_CMP_METHOD_NAME = "sort_cmp"
ACTION_METHOD_NAME = "action"
FOLD_METHOD_NAME = "fold"
POST_CONTROLLER_METHOD_NAME = "post_controller"
GENERATED_CALL_METHOD_NAME = "__ctrl_call__"


####
# Variable Names
ACTION_RESULT_ASSIGNMENT_NAME = "__ctrl_result__"

RESERVED_KEYWORDS = {
    CHOSEN_ARG_NAME,
    PARTITION_ARG_NAME,
    K_ARG_NAME,
    SORT_CMP_ARG_A_NAME,
    SORT_CMP_ARG_B_NAME,
    ACTION_RESULT_ASSIGNMENT_NAME,
}
