2017-09-19 11 views
4

スキームにおいて、,quasiquoteの略語であり、,@quasiquote-splicingの略語です。Whence、@ quasiquote-splicingの略語?

@はどこから来たのですか?操作のニーモニックであることを意図していますか、他のコンテキストで@と一貫していますか、それとも何か他の組み合わせですか?

答えて

6

第4章の履歴Quasiquotation in Lisp by Alan Bawdenでは、「疑似引用」はW.V. QuineのMathemathical Logic(1940年頃)ですが、それにはunquoteの明示的なマーカーは含まれていません。 McCarthyは1960年頃にLispを開発しましたが、S式の準座位の形式も提案していませんでした。これは、AIコミュニティがS式とリスト構造をプログラムする方法を学ぶ多くの労力を費やし、記号が発信された1960年から1970年にあった:それらの年からothing

[N]はのように密接に今日のLisp quasiquotationに似ていますMcDermottとSussmanのConniver言語の表記法と同じです。 Conniverの表記'X,Xおよび@Xでそれぞれ!"X,@Xおよび[email protected]と書かれていましたが、考え方は基本的に同じでした。 (Conniverはまた、これはコンマ文字が最終的にその現在の役割を埋めるようになった方法である可能性があるので、@Xと同様に見ることができる,X構造を持っていた。)(P。6)

そんなに早くにリスプス@はスプライシングを示すのに使用された。 McDermottとSussmanのConniver言語は,を使用し始めましたが、それは現在の使用がどこから来るのかもしれません。

最初に,,がスプライシングを示すために使用されました。これは、ネストされたquasiquoteスプライシングが機能しないと考えられたためです。 Bawdenは彼の驚いたことに、正しいことが可能であることを知った。 quasiquote-splicingとネストされた準クォーテーションが干渉しないように、2つの用途を区別するために新しいシンボルを導入する必要がありました。

Bawdenによると、quasiquote-splicing@という記号を使用した新しい兆候と読者を混同することはありませんでした。既に使用されていたので、quasiquote-splicing,@X( "comma-atsign")とすると意味がありました。

なぜ私はまだ見つけられていない@のために選ばれましたか?たぶんそれは@のシンボルがラテン語の広告から来ているからで、,@,を追加しているからです...しかし、これは推測です。

Bawdenの理由は、他の(歴史的な)コンテキストでは@と一致しているからです。

+0

Conniverは、Schemeの前の言語である必要があります。コンテキストのためにSussmanはScheme(r)の作成者の1人です。 – Sylwester