2017-10-21 2 views

답변

1

주요 이점은 부분 기능 응용 프로그램을보다 편리하게 만들어 기능 구성을 장려한다는 것입니다.

하나의 단점은 라벨, 선택적 및 가변 인수와 같이 원하는 다른 언어 기능과 잘 맞지 않는다는 것입니다. 확실히 OCaml이 작동하도록하는 것은 불가능하지 않습니다. 예를 들어 OCaml은 레이블이 붙어 있거나 선택적인 인수를 모두 가지고 있습니다. 함수가 부분적으로 적용되거나 완전히 적용되고 선택적 인수를 적용하지 않는 경우를 어떻게 알 수 있습니까? OCaml의 해결책은 부분적인 응용을 가정하는 것이며 모든 선택적 인수를 지정하지 않고 완전히 적용될 수 있도록 옵션이 아닌 인수로 함수를 "종료"해야합니다.

언어가 불충분하고 형식 유추가있는 경우 다른 단점이 나타납니다. 부분적으로 부작용이있는 함수를 적용하고 유형이 잘못되었다는 사실을 알지 못하고 값을 폐기 할 수 있으므로 부작용이 발생하지 않습니다. 이처럼 실수를 범하는 경향이있는 언어는 유형 유추에 따라 다르지만 OCaml과 같은 언어에서는 초보자가 흔히 범하는 실수입니다. 그러나 형식 주석으로 약간 훈련하면 피할 수 있습니다.

관련 문제