전역 변수를 어떻게 구현하지??

names :: [String] names = loop [ [alphabet] | alphabet <- alphabets ] where alphabets :: [Char] alphabets = "abcdefghijklmnopqrstuvwxyz" loop :: [String] -> [String] loop strs = strs ++ loop [ str ++ [alphabet] | alphabet <- alphabets, str <- strs ]

이 함수가 실행 중에 한 번만 평가되게 하고 싶은데

메모이제이션 구현 너무 어려움 ㅠㅠ