haskell을 공부하고 있는 학생입니다. 도움이 필요합니다.
글쓴이: ozon1000 / 작성시간: 금, 2016/02/12 - 2:00오후
저는 c / c++을 공부할때도 정말 재귀함수를 어려워 했고 지금도 굳이 재귀로 하지 않아도 되는것들은 일부러라도
재귀함수를 사용하지 않으려고 합니다.
하지만 haskell은 다르더군요. 아에 재귀함수 범벅입니다... 정말...
그래서 현재 haskell을 공부하는데 있어 어려움이 많습니다.
혹 고수님들 중에..
implicit recursion 과 explicit recursion 의 차이점을 명확하게 알고 계신 분 계신가요?
계시면 명쾌하고 무릎을 탁! 치고 갈만한 설명 한번 부탁 드립니다... ㄸㄹㄹ
Forums:
일단 무릎을 탁 치십시오. 그럼 명쾌해 졌나요?
일단 무릎을 탁 치십시오. 그럼 명쾌해 졌나요? 재귀함수 개념을 어렵다 하시면 무슨 설명을 본들 이해하겠습니까?
저는 고수가 아니라서 implicit recursion 과 explicit recursion 구글님께 물어보니
https://www.joachim-breitner.de/blog/316-Handling_explicit_and_implicit_recursion_in_Haskell_data
이런 걸 알려주네요. 영어라서 어려우신가요? 영어에 익숙해지셔요.
고수님들은 바빠서 답변을 해 주실 분이 계실지는 잘 모르겠네요.
세벌 https://sebuls.blogspot.kr/
ㅋㅋㅋㅋㅋ
다음엔 이런식으로 답글 다시지 마셔요~ㅋㅋㅋㅋㅋㅋㅋㅋ
고수 아니라면서요ㅋㅋㅋㅋㅋㅋㅋㅋ
음.. 제가 정확히 알고 있는건지 모르겠는데..
implicit recursion 은
재귀 함수 안에서 또 재귀함수를 호출 하는
즉 내부에서 또 호출을 해야 하는 경우고
explicit recursion 은
재귀 함수 안에서 재귀함수를 또 호출 하는게 아니라.
내부에서 다른 어떤 행동을 반복적으로(?).. recursive하게 하는거. 정도라고 생각 하시면 될까요
하노이의 탑.. 은 아실거라고 생각 하고 말씀 드리면
이런식으로.. hanoi 함수 안에서 또 hanoi 함수를 호출 하는게 implicit
즉. 2의 n승을 계산 (2를 recursive하게 n번 곱함). 이게 explicit.
내부에서 또 다른 recursive함수를 호출 하는건 아니죠..?
음.. 이거 먼가 엄청 옛날에 얼핏 본거 같은데. 정확한 기억인지는 모르겠네요.
전 대충 이런 개념으로 알고 있습니다.
이게 정확한 예는 아니겠지만....
무튼, implicit은 뜻 자체가 "내포된" 이런 뜻이자나요.
한 함수안에서 계속 내부적으로 recursive하게 또 그 함수를 호출 하는 경우인거고
explicit은 뜻 자체가 "명확한" 이런 뜻이자나요.
안에서 뭔가 recursive하게 작동은 하는데, 그게 안에 함수같은게 또 포함되서 뭔가 명백히 알 수 없는 경우가 아니라
recursive하게 작업은 하는데, 명확히 이해 할 수 있는? 뭐 그런 거 아닌가요..
제가 이해한건 이거에요..
자세한 정답은 아마 다른분께서..
답변 감사합니다.
말씀하신 글로만 보아서 implicit recursion 은 제가 재귀라고 머릿속에 딱 떠올리는 그대로의 재귀함수를 말하는 말이네요?
즉 아주 일반적인 재귀함수요.
그리고 explicit recursion 은 재귀함수는 맞으나 단순히 재귀적인 동작만 하는게 아니라 추가적인 다른 동작도 함께 하는 함수를 말하는 말이네요?
즉, 댓글 맨 마지막에 언급하신데로
명백히 알 수 있는 / 명백히 알 수 없는
이라고 해석하면 될거같은데.. 제가 잘 이해 했나요?
댓글 달기