문제

나는 웹을 둘러싼 Erlang 프로그램의 다양한 타이핑 관행을 찾고 있는데 몇 가지가있는 것 같습니다.

1.-specs - 이것은 꽤 매력적으로 보입니다. 몇 곳에서는 관련 - 스펙 스 지시를 갖는 기능이 컴파일 시간 (올바른 유형 사용)에 점검된다고 언급했습니다. 타이퍼?). Im은 양식의 함수 선언에서 이러한 "사양"을 생성하는 작은 파서/코드-그린을 만들고 싶어합니다.

functionName(param1 :List, param2 :Tuple) -> ...

나는 보지 못했다 -spec 추상 유형을 지원합니다 (사용자 선언 유형 - "자동차"유형 -

{car,{weight,_},{height,_},{maxSpeed,_}}

2.-deftype 지령 여기에 언급되었습니다

Erlang은 물건을 입력하기 시작하고 컴파일 시간에 확인할 수 있다면 훨씬 더 강력해질 것입니다. 위에서 언급 한 파서/코드-그린 런 타임은 출력 소스 코드에서 가드 유형 검사를 생성합니다.

도움이 되었습니까?

해결책

유형 및 사양 속성에 대한 자세한 정보는 다음과 같습니다.

http://www.erlang.org/eeps/eep-0008.html

투석기를 사용하여 확인할 수 있습니다 (참조 dialyzer --help).

타이퍼는 그것들을 생성하는 데 사용될 수 있습니다 (참조 typer --help).

다른 팁

컴파일 시간 유형 확인은 Erlang의 완료가 아닙니다. 대신 컴파일 후 유형 확인을 수행하는 투석기를 사용하십시오.

'사용자 정의 유형'을 만드는 방식은 예상대로 태그가 지정된 튜플을 사용하는 것입니다. 투석기는 코드 경로를 검사하여 실패한 기능 리턴을 생성 할 수있는 코드 경로를 식별합니다.

투석기가 최선을 다하기 위해서는 '실패 할 경우 let'를 받아들이고 예상 결과와 일치하는 조항 만 작성해야합니다.

EDOC로 기능을 문서화해야합니다. 투석기는 문서 시스템의 유형 사양을 사용하여 유형을 추론합니다. 대표 매뉴얼을 찾을 수 있습니다 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top