2017-09-20 1 views
1

Jane Street의 핵심 표준 라이브러리와 이유 언어 프론트 엔드를 사용하여 프로그램을 만들려고합니다.'explicit_arity'속성을 사용하지 않았습니다.

corebuild 스크립트를 가져 와서 을 rebuild으로 바꾸어 복사본을 recorebuild으로 저장했습니다. 하지만 몇 가지 간단한 코드에 문제가 있습니다.

이 실패 할 최소한의 예는 다음과 같습니다

rebuild -tag "ppx(ppx-jane -as-ppx)" test.byte 

하는 당신이 오류를 얻을 :

type t = Foo int | Bar; 

let foobar f => switch f { 
| Foo x => x 
| Bar => 0 
}; 

당신은 다음과 같은 옵션을 corebuild에 의해 추가 된 중 하나를 컴파일하려고하면 :

File "", line 0: 
Attribute `explicit_arity' was not used 
Command exited with code 2. 

이게 무슨 의미입니까?

+0

내가 너무 이유에 제인 스트리트의 코어를 사용에 관심이 있어요. 어떻게하는지 설명하는 문서/튜토리얼/블로그를 알고 있습니까? – hendysg

답변

0

explicit_arity은 변형에 관한 OCaml 구문의 모호성을 해결하기 위해 refmt이 방출하는 속성입니다. 불행히도 Jane St ppx와 충돌하지만 corebuild 스크립트에서 -tag "ppx(ppx-jane -as-ppx)"을 제거하면 제대로 작동합니다.

(참고 :이 정보는 이유 불화에서 가져온 것입니다, 나는 개인적으로 어떤 경험이없는)

+0

당신은 그것을 언급하는 장소에 링크 할 수 있습니까? Google은 전혀 성과를 내지 못했습니다. – Tobia

+0

나는 두려운 링크가 없습니다. 하지만 Reason Discord (https://discord.gg/reasonml) (등록 필요 없음)를 사용하면 검색 할 수 있습니다. – glennsl

+0

사실, 이것이 이것이 도입 된 이슈라고 생각합니다. 그래도 많은 토론이 있습니다 : https://github.com/facebook/reason/issues/63 – glennsl

관련 문제