2017-09-19 8 views
4

Scheme에서 ,quasiquote의 약어이고 ,@quasiquote-splicing의 약자입니다.어디서, quasiquote-splicing의 약자?

@은 어디에서 왔습니까? 조작을위한 니 마닉 (mnemonic)이되도록 의도 되었습니까? 또는 다른 문맥에서 @과 일치합니까? 아니면 다른 어떤 조합을 의미합니까?

답변

6

제 4 장 History in Quasiquotation in Lisp by Alan Bawden에는 "Quasi-Quotation"이 W.V. Quine의 Mathemathical Logic (1940 년경), 그러나 그것은 인용 부호에 대한 명시적인 마커를 포함하지 않습니다. McCarthy는 1960 년경에 Lisp을 개발했지만, S-expression quasiquotation의 어떤 형태도 제안하지 않았다.

[N]가 그 년에서 othing과 유사한 오늘날의 리스프 quasiquotation을 가깝게 : 그것은 AI 커뮤니티는 S-표현과리스트 구조로 프로그래밍하는 방법을 배우는 많은 노력을 소비 및 기호가 발생한 것을 1960에서 1970 사이에 있었다 McDermott과 Sussman의 Conniver 언어에서 표기법으로 사용됩니다. Conniver의 표기법에서 'X, ,X@X은 각각 !"X, @X[email protected]으로 작성되었지만 아이디어는 기본적으로 동일합니다. (간자는 @X와 유사 볼 수있는 ,X 구조를 가지고 있었다, 그래서이 쉼표 문자 결국 현재의 역할을 채우기 위해 온 방법이라고 할 수있다.) (p. 6) 초기에 따라서

Lisps @은 접합을 나타내는 데 사용되었습니다. McDermott과 Sussman의 Conniver 언어는 ,을 사용하기 시작했으며 현재 사용되는 곳이 여기있을 수 있습니다.

첫 번째 ,,은 중첩 된 스 플라이 싱이 작동하지 않는다고 믿었 기 때문에 스 플라이 싱을 나타 내기 위해 사용되었습니다. Bawden은 놀랍게도, 올바른 일이 가능하다는 것을 알았습니다. 따라서 quasiquote-splicing과 중첩 된 준 정법이 간섭하지 않으므로 두 가지 용도를 구별하기 위해 새로운 기호를 도입해야했습니다.

Bawden에 따르면 quasiquote-splicing@ 부호를 사용하는 새로운 표지판과 독자를 혼동하지 않았습니다. 이미 사용 중이므로 quasiquote-splicing,@X ("comma-atsign")으로 지정하는 것이 좋습니다.

내가 전에 찾지 못했던 이유가 @ 인 이유는 무엇입니까? 어쩌면 그것은 @ 기호가 라틴어 단어 ad에서 왔기 때문일 수 있습니다. 즉,에서 또는로, 그리고 ,@을 사용하면 ,을 추가 할 수 있습니다.하지만 이것은 추측입니다.

Bawden에서 발견 된 이유는 다른 (역사적인) 문맥에서 @과 일치한다는 것입니다.

+0

Conniver는 Scheme의 선행 언어 여야합니다. 컨텍스트 Sussman은 Scheme (r)의 제작자 중 하나입니다. – Sylwester