Scheme에서 ,
은 quasiquote
의 약어이고 ,@
은 quasiquote-splicing
의 약자입니다.어디서, quasiquote-splicing의 약자?
@
은 어디에서 왔습니까? 조작을위한 니 마닉 (mnemonic)이되도록 의도 되었습니까? 또는 다른 문맥에서 @
과 일치합니까? 아니면 다른 어떤 조합을 의미합니까?
Scheme에서 ,
은 quasiquote
의 약어이고 ,@
은 quasiquote-splicing
의 약자입니다.어디서, quasiquote-splicing의 약자?
@
은 어디에서 왔습니까? 조작을위한 니 마닉 (mnemonic)이되도록 의도 되었습니까? 또는 다른 문맥에서 @
과 일치합니까? 아니면 다른 어떤 조합을 의미합니까?
제 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에서 발견 된 이유는 다른 (역사적인) 문맥에서 @
과 일치한다는 것입니다.
Conniver는 Scheme의 선행 언어 여야합니다. 컨텍스트 Sussman은 Scheme (r)의 제작자 중 하나입니다. – Sylwester