
# Python 作为弱类型语言希望拥有强类型语言类似的规范工整工程性的优点，牺牲一些代码的自由度。
# 可以理解为更好的代码注释和更多的工程约束 。

import cppy.cp_util as util


def extract_words(path_to_file:str) -> list:    
    return util.extract_file_words(path_to_file)

def frequencies( word_list:list ) -> dict :
    return util.get_frequencies(word_list)

def sort(word_freq:dict) -> list : 
    return util.sort_dict(word_freq)


if __name__ == "__main__":
    word_freqs = sort( frequencies(extract_words( util.testfilepath )) )
    util.print_word_freqs(word_freqs)