abc q = do
if q<0
then putStrLn "wow"
else do
let s = show q
putStrLn s
abc (q-1)
main = abc 10
대문자 변수 막 쓰다가 털리고
let하고 where 차이도 모르겠고
show랑 putStrLn 같이 쓰면 안되는 거도 모르겠고
패러다임 사고는 밥에 말아먹은거 같아
쉬운 문법부터 응용하려니깐 만만찮네
abc q = do
if q<0
then putStrLn "wow"
else do
let s = show q
putStrLn s
abc (q-1)
main = abc 10
대문자 변수 막 쓰다가 털리고
let하고 where 차이도 모르겠고
show랑 putStrLn 같이 쓰면 안되는 거도 모르겠고
패러다임 사고는 밥에 말아먹은거 같아
쉬운 문법부터 응용하려니깐 만만찮네
뭐 워낙 문법이 특이해서 익숙해지는데 좀 걸리긴 하지
let..in은 expression이고 where는 declaration의 일부임. 이게 가장 큰 차이
그러니까 (x where x = 1) 이런건 안되지. 근데 (case 1 of {1 -> y where y = 2}) 이건 되긴 함
putStrLn (show q) 이렇게 괄호치면 될거임
ㄱㅅㄱㅅ