이펙트 시스템 깜깜한 거야 두말할 것도 없다 치고
함수 적용이 그냥 공백일 뿐이고 작성하는 사람도 괄호를 기피하다 보니 인자 하나 잘못 끼우면 에러메시지가 산으로 감.
최근에도 있었던 sqrt . fromIntegral 3 이 간단한 구문의 에러메시지를 해석하지 못한 게 언어 디자인 문제도 있다는 거임.
물론 구문이 단순하고 일관적이고 커링을 얻는 확실한 장점이 있지만 그 대가로 인자 타입이 틀렸다는 메시지가 아니라 어떤 타입과 어떤 타입이 불일치합니다라는 별 해괴한 에러메시지를 읽게 되었지.
저게 단순하니까 해석하지 구문이 중첩되면 잘못 추론한 타입 에러가 차곡차곡 쌓여서 C++ 템플릿 에러메시지랑 맞먹게 됨.
툴링이 해결되면 하스켈이 쓸만해진다… 물론 IDE가 가장 큰 문제지만 절대 낙관적으로 볼 순 없음 ㅠㅠ
개발도구지원이 다른 언어만큼만 되면 배울만은 해질거같음 배운적이 없어서 쓸만한지 까지는 모르겠고.. 러스트도 rls랑 친절한 컴파일 에러 메세지 없었으면 중도하차했을듯
거의 모든 에러가 타입에러로 귀결되는 탓도 있을듯. 다른 언어는 에러 분류가 다양하고 그거에 맞는 에러 메시지을 주는데, 하스켈은 전부 타입에러라 분류하기가 난해할 것 같음.
에러 메시지 자체는 한 일주일 해보니 읽을만하던데 C++하면서 단련되서 그런가?ㅋㅋㅋㅋ 나는 타입 에러는 머리는 좀 아프겠지만 천천히 읽어나갈 수 있다고 생각하는데 parse error라고만 나오면 진짜 환장할거같았음. 이거도 아무래도 포매팅에 덜 민감한 cpp하던 버릇때문인가 싶기도 하고
함수 적용 공백인거는 진짜 별로던뎅.. 모나드 땜시 잠깐 보다 말았네요. - dc App