タグ付けされた質問 「common-lisp」

15
LISPは今日の世界でまだ有用ですか?どのバージョンが最も使用されていますか?
私は自分自身に新しいプログラミング言語を定期的に教えようとしています。最近、私はLispとその方言がC / C ++のような言語とはまったく反対の立場にあることを読みました。ただし、2つのことは私には不明確であり、それらに関するガイダンスを探しています。 LISPは今日でもまだ実践/使用されていますか、それともFORTRAN / COBOLなどのレガシー言語ですか?つまり、既存のコードを維持することとは別に、新しいプロジェクトでまったく使用されますか? 最も広く使用されている方言は何ですか?最も一般的な2つの方言としてSchemeとCommon Lispに出会いましたが、どちらが最も好まれ/有用な方言であるかについてのあなたの意見が欲しかったです-そして、あなたが最初のランク初心者のためのリソースを提案できるなら、非常に満足します。 私が慣れ親しんでいる手続き言語とは根本的に異なる言語を習得したいのですが、もし完全に時代遅れであれば何かに過度の労力を費やしたくはありません。しかし、学術的観点からのみ...

2
使用するCommon Lisp実装はどれですか?[閉まっている]
Common Lispでの開発を開始することには、実装の選択という差し迫った問題があるようです。CLの実装を検討するとき、何を考慮に入れる必要がありますか? ANSI規格に準拠する必要がありますか?SLIMEでサポートされるべきですか?特定の実装には適切なライブラリ、ドキュメントなどが欠けていますか?

2
これらの古いLispに対する古い批判のうち、今日でもなお当てはまるものはどれですか?
Common LispのA批判 1984年にスタンフォード大学からのロドニー・ブルックスA.とリチャードP.ガブリエルによって書かれた、いくつかの設計上の決定が議論されているのCommon Lispの正規化委員会によって保持しました。議論の大部分は有効なままですが、その時点で利用可能な技術に言及しており、今日は間違っている可能性がある2つの声明があります。 これらの2つのステートメントは次のとおりです。 言語のコストが多すぎると、「優れたコンパイラーなら誰でも世話をすることができる」という警告で却下されました。誰もまだ書かれていません-また、多大な努力なしに-それが期待されるトリックのほんの一部を行うコンパイラ。 私はCommon Lispの初心者であり、見習いでもあるので、著者よりも具体的になることはできません。彼らは、言語のいくつかの側面に大きな一般性と柔軟性が組み込まれているため、優れたコンパイラーの作成が非常に難しいと述べているようです。 COMMON LISPでは、浮動小数点演算の制御が少なすぎます。確かに、浮動小数点を多用するプログラムの正しい動作は実現できますが、パフォーマンスは大きく異なる場合があります。 私が理解している限りでは、Common Lispで効率的な数値コードを書くことは可能ですが、本来よりも難しいと思われます。 これは30年前です。一般的なフリーソフトウェアの実装(CLISP、SBCLなど)の1つに対してCommon Lispプログラムを作成する場合、今日これらのステートメントをどのように考慮する必要がありますか?

4
LISPがあれば、マクロシステムの実装を容易にしますか?
私はSICPからSchemeを学んでいますが、Schemeを作るものの大きな部分、さらにLISPが特別なのはマクロシステムであるという印象を受けています。しかし、マクロはコンパイル時に拡張されるので、C / Python / Java / whateverに同等のマクロシステムを作成しないのはなぜですか?たとえば、pythonコマンドをexpand-macros | python何にでもバインドできます。このコードは、マクロシステムを使用しないユーザーにも移植可能です。コードを公開する前にマクロを拡張するだけです。しかし、私が収集したC ++ / Haskellのテンプレートを除いて、私はそのようなものを知りません。実際には同じではありません。LISPがあれば、マクロシステムの実装を容易にしますか?

2
Haskellでタイプは消去されますか?
Haskellには、一般的なLispとの明らかな類似性を持つ「汎用関数」という概念があります。Haskellの経験も共通のLispの経験もないため、ここでは非常に近似するかもしれません。これは、to_stringすべてのタイプの文字列表現を定義する汎用機能を定義できることを意味します。もちろん、特別な場合にはto_string機能を定義する必要がありますが、シグネチャがの関数がありますα → string。 OCamlのように、Haskellでもタイプは消去されますか?はいの場合、Haskellでの「ジェネリック関数」の実装は、型が動的であり、したがって消去されない一般的なLispの実装とどのように異なりますか? 実装の詳細はコンパイラ固有のものであることを理解していますが、おそらく多くまたはすべての実装に共通する規定があります。

2
LispとSchemeの型
ラケットにはタイプがあります。一見すると、Haskellのタイピングとほとんど同じように見えます。しかし、LispのCLOSはHaskellタイプがカバーするいくつかのスペースをカバーしていますか?非常に厳密なHaskell型とオブジェクト指向言語でのオブジェクトの作成は、漠然と似ています。私がHaskellのクールエイドを飲んだだけで、Lispの道を進むと、動的なタイピングのために頭がおかしくなります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.