私は今Common Lispを学び始めました - そしてすぐにそれに恋しています - そして私はちょうどタイプシステムに移りました。私はアプリケーションプログラミングのために特別な好奇心を発達させているようです。応用プログラミングと共通のlispタイプ
私が理解しているように、CLの文字列とリストはどちらのシーケンスでもありますが、シーケンス上のマッピングのための標準機能はないようです。基本的なデータ型であることを理由にリストに提供される理由はわかりますが、シーケンスで動作するように設計されていないのはなぜですか?より一般的な型であるため、リストではなくアプリケーション関数を対象とする方が便利です。あるいは、私はそれがどのように機能するか完全に誤解していますか?
編集:私はシーケンス方法だったについては特に混乱して感じていた何
- 抽象化 - とリスト - 実装が - CLにまで混乱しているようです。コンセンサスはこれが歴史的な理由によるものだと思われる。 lispは長年にわたり、関数やマクロを使ってソフトウェアエンジニアリングの実践をかなり詳しく描くことができます。この関数はシーケンスに適用され、リストにはリスト上でのみ動作するプリシーケンス抽象関数と、より一般的なやり方でシーケンスで機能する関数が混在しているため、現時点でCLを学んでいる人物として、著者が最初にクリーンな抽象化としてシーケンスを導入し、その抽象化の最も基本的な実装としてリストで購入するのが有益であると思います。リストはもちろん構文として必要ですが、明示する必要がある時には、多くの読者がこれを自分で作業していました。これは、起動時にかなり自励的になります。
シーケンスでCOUNT、FIND、REMOVEを正常に削除できます。 ANSI CL標準のシーケンス辞書を確認してください。 –
まあまあ、あなたは何を知っていますか?そこに自分より先に少し話してください。ありがとう! –
あなたは自分より先に話しているかもしれませんが、私に必要な答えをくれました。私が混乱していたのは、一般的なケースとしてのシーケンスと実装としてのリスト間の抽象化がCLで非常に混乱しているように見える理由でした。今私はそれが歴史的な理由であることを知っています。ありがとう! –