2016-11-10 2 views
13

편집 : Steve Vinoski는 주석에 튜플 모듈의 공식 이름을 친절하게 제공했습니다.튜플 모듈은 공식적으로 문서화 된 언어 기능입니까?

내 원래 질문 : OTP 팀이 공식적으로 문서화 한 튜플 모듈입니까? 앞으로도 계속 지원 될 것으로 예상됩니까?


원래의 질문에 다음 (얼랑 19.1을 사용)가 있습니다

-module(foo). 

-compile(export_all). 

new(Bar) -> {foo, Bar}. 

get({foo, Bar}) -> Bar. 

내가보고 매우 놀랐다 :

는 다음 얼랑 모듈을 고려

2> Foo = foo:new(bar). 
{foo,bar} 
3> Foo:get(). 
bar 

이것은 일반적인 모듈의 함수를 호출하는 방법.

내가 알 수있는 한, R16부터 사용되지 않는 매개 변수가있는 모듈의 나머지 부분 인 것 같습니다. 이 언어가 지원되고 안정적인 기능이라는 것을 공식 문서에서 발견 할 수 없습니다.

내 질문은 : 언어의 문서화 된 기능입니까? 그렇다면 어디서?

+0

'new/1' 함수는 "튜플 모듈"을 반환합니다. 자세한 내용은 [이 질문] (http://stackoverflow.com/questions/16960745/what-is-a-tuple-module-in-erlang)을 참조하십시오. –

+0

@SteveVinoski 감사합니다! 또한 [그 다른 질문] (http://stackoverflow.com/questions/31954796/why-erlang-tuple-module-is-controversial) 이제 그 사람들에게 맞는 용어를 알게되었습니다. – user4867444

+0

@SteveVinoski 그 언어가 공식적으로 문서화되어 있는지 여부는 아직 명확하지 않습니다. 어떤 걸로 받아들이나요? – user4867444

답변

1

내가 아는 한 이것은 매개 변수화 된 모듈의 문서화되지 않은 나머지이며 레거시 코드가 손상되는 것을 방지하기위한 것입니다. 매개 변수화 된 모듈을 사용하는 다른 심각한 라이브러리를 생각할 수 없기 때문에 Mochiweb이 파손되는 것을 방지하기 위해 주로 의도 된 것이라고 생각합니다.

문서를 찾을 수 없으며 현재 고려 대상이 아닌 것 같습니다. 이것이 문서화 될 것이라고 주장한 발표는 있었지만 (링크가 아닌 참조가 있지만), 꽤 오래 전에 발표되었습니다.

OTP-10616

이 실험 기능 "매개 변수 모듈"(또한 소위 "추상적 모듈")가 제거되었습니다

매개 변수 모듈이 제거 된 release readme for R16B

이 언급하고있다. 이 매개 변수화 된 모듈에 의존하는 응용 프로그램의 경우 매개 변수화 된 모듈을 계속 사용하는 데 사용할 수있는 구문 분석 변환 이 있습니다. github.com/erlang/pmod_transform

그 문제 번호가 더 이상 OTP의 이슈 트래커에 표시되지 않으며, 심지어 "매개 변수 모듈의 발생을 찾을 수 없습니다 :

변환 구문 분석에서 확인하실 수 있습니다 "또는"튜플 모듈 "을 OTP의 Jira 인스턴스에서 사용할 수 있습니다. 그래서 나는 이것이 문서화되지 않은 유산의 신념이며 더 이상은 아니라고 생각합니다.

관련 문제