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

Lispは、ラムダ計算に基づく汎用関数型プログラミング言語(のファミリ)であり、ソースコードをデータ構造として操作する機能を備えています。

3
なぜcファミリーは、LISPファミリーではなく、数学/ CSプログラムの標準CS研究連隊なのですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私は自己改善のためにLISPに慣れてきました。私が気づいたことの1つは、LISPはCと言うよりも数学のパラダイム内にあるということです。構文と設計構造は、アルゴリズムの実際の数学的モデルを直接反映しているようです。優れた数学ベースのCSプログラムでさえ、LISPではなくCを学習する理由は、私には意味がありません。LISPはCよりも高い数学概念をより直接的に採用していると思います。Cで数学構造をモデル化できないと言っているのではありません。LISPが数学者にハードワイヤーされているように見えることに気付いています。 私は、JAVA学校でのジョエル・スポルスキーの暴言の多くを読みましたが、彼の評価に同意しますが、私の学校はその理由でJavaを教えませんでした。彼らは、ポインター、アルゴリズム設計、再帰、さらにはアセンブリ命令などの基本概念を教えるのに厳格でした。ただし、これらはすべてCおよびc ++で行いました。誰もこれおよび/またはその歴史の理由を知っていますか?

8
Web開発のためのCLとPythonの選択
私はJavaのバックグラウンドから来ており、Paul Grahamによるこの小さなエッセイを読んだ後、仕事をスピードアップするために新しい言語、つまりCommon Lispを採用することを考え始めました(私はWeb開発者です)。 現在、ペットプロジェクトを書いていますが、将来のビジネスプランがいくつかあります。ポールはエッセイで「秘密兵器」としてLISPについて語っています。この声明が10年後に真実かどうかはわかりませんが、つま先をすてきなCLチュートリアルに浸したところ、LISPがWeb開発に優れているようです。 また、PaulはPythonを、私が実際によく知っている素晴らしい選択肢として言及しています。私の質問は、将来のWebプロジェクトのためにどれを選ぶべきですか? 私が考えていたこと: デスクトップアプリケーションを開発するつもりはないので、好きな言語を選択できます。 pythonは非常に大きなコミュニティを持っているようですので、lispと比べてより多くのライブラリ/フレームワークがあります lispには他のどこにも見つからない機能(マクロなど)があることがわかりました 私はほとんど単独で、または他の1-2人のプログラマーと仕事をしていますが、Lispの知識を持つ人を見つけるのは難しい場合があります それで、あなたはどう思いますか?

9
再帰の理解を改善するためのリソースはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私は再帰とは何かを知っています(通常、パテンが自身内で発生するとき、通常はブレークアウト条件付き...の後にその行の1つでそれ自体を呼び出す関数ですか?)、それらを詳しく調べれば再帰関数を理解できます。私の問題は、新しい例を見ると、最初はいつも混乱していることです。ループ、またはマッピング、ジッピング、ネスト、ポリモーフィックコールなどが表示される場合、それを見るだけで何が起こっているかがわかります。再帰的なコードを見ると、私の思考プロセスは通常「wtf is this?」です。続けて「ああ、再帰的」、続いて「もし彼らが言うなら、うまくいくに違いない」と続きます。 この分野でスキルを構築するためのヒント/計画/リソースはありますか?再帰は奇妙な概念の一種なので、それに取り組む方法も同様に奇妙で明白ではないかと考えています。

3
より高いレベルの言語を読みやすいC ++にコンパイルすることは可能ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 C ++は多くの点で優れた言語ですが、特にいくつかのことはIDEなしで書くのが面倒です。VIMユーザーとして、S-Expressionsおよび場合によってはLispのようなマクロを使用してC ++を記述できるようにする高レベル言語にアクセスできれば、非常に興味深いでしょう。何回も。 freenodeで尋ねて、ECLやBiglooなどのコンパイラでLisp-> Cをコンパイルするなど、いくつかのアイデアをテストしましたが、特にきれいなCコードは生成されませんでした。 この問題に関する作業はありますか?

9
Greenspunの第10規則、すべての大規模プロジェクトにはLispインタープリターが含まれていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 Greenspunの10番目のルール(実際には唯一のルール)は次のように述べています: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. 私の記憶は、おそらくBorlandのQuattro(スプレッドシート)プロジェクトとおそらく他のもののために、トピックに関するいくつかの論文があるということです。Googleは役に立たず、適切な検索用語が思い浮かばないかもしれません。この主張を支持する論文または記事を探しています。

2
機能的なコンピューターを構築できますか?
FPがやったように、結局、すべてのプログラムは構造化されています。つまり、どれだけ純粋に機能するかは問題ではありません。常にアセンブリに変換されるため、実際に実行されるのは命令、状態、ループです。FPをエミュレートしています。 ハードウェア初心者として、私の質問は次のとおりです。機能スタイルで実際に計算するコンピューターアーキテクチャを使用しないのはなぜですか。たとえば、コンピューターは「concat」、「map」、「reduce」などのプリミティブな「機能チップ」で構成できます。プログラムは、目的の結果を計算するために、これらのチップ間でデータを流す方法をコンピューターに伝えるだけです、連結言語など。 これは本当に意味をなさないが、私が考えていることを説明するかもしれない。

1
Clojureに衛生的なマクロがないことから生じる実際的な問題は何ですか?
Clojureマクロは簡単に記述できますが、ラケットの衛生的なマクロほど信頼性が低いと聞きました。私の質問には2つの部分があります。 gensym衛生マクロとどう違うのですか? ラケットマクロは、Clojureにはないものを何を提供しますか?(安全性、構成可能性など)

2
Clojureの角括弧と中括弧はまだS式ですか?
私はLispを学び、そこにあるすべてのLispとその違いを調べようとしています。 Schemeの一部の実装では、読みやすくするために角かっこを角かっこと交換可能に使用できることがわかります。 ただし、Clojureでは、ベクトルなどのさまざまなデータ型を表すために角括弧と中括弧が使用されていることがわかります。これらはまだ有効なS式でもありますか、それともアトムと見なされる必要がありますか?これはS式の概念全体を「壊し」、それによってClojureを「不純な」Lispにしませんか?
11 lisp  clojure 

3
バイトコードウィービング対Lispマクロ
私は、関数呼び出しのインターセプト、ロギングコードの挿入などを行うためにバイトコードウィービングを使用するJavaやC#のような言語用に書かれたライブラリについて読んでいます。それらの利用方法をよりよく理解しようとする。マクロについてよく読めば読むほど、マクロがバイトコードウィービングライブラリと同じ種類の機能を提供するように見えます。機能とは、コンパイル時にコードを操作できることを意味します。 私が見ているライブラリの例は、AspectJ、PostSharp、Cecilです。 片方でできること、もう片方ではできないことはありますか?彼らは実際に同じ問題を解決していますか、それともリンゴとオレンジを比較していますか?

5
関数型プログラミングのデータ構造
私は現在LISP(特にSchemeとClojure)で遊んでいますが、関数型プログラミング言語で典型的なデータ構造がどのように扱われるのか疑問に思っています。 たとえば、グラフパス検索アルゴリズムを使用して問題を解決したいとします。そのグラフを関数型プログラミング言語(主にLISPに適用できる純粋な関数型に興味がある)で表現するにはどうすればよいでしょうか?グラフを完全に忘れて、他の方法で問題を解決できますか?

3
なぜ反復バージョンに時間がかかるのですか?
私はhttp://programming.lispdream.com/blog/2011/06/recursion-vs-iteration/を見ていましたが、階乗関数の再帰的および反復的な実装の彼の実装では、実際には反復に時間がかかりますn = 1,000が与えられます。理由はわかりません(彼は説明しませんが、それは読者にとっての練習だと言います)。このすべてに私の新しさを申し訳ありません。

2
LISP Webサービスを書くための戦略/リソース?
背景:エイプリルフールが私の会社の残りの開発チームにいたずらしていたので、Common Lispでいくつかの完全に機能するウェブサービスを書きたいと思っています。 これには、MySQLデータベースからの情報の読み取り/書き込み、およびHTTPを介した要求の受信/処理/応答の2つの部分があります。(実際には、自動化されたテストを作成する3番目の部分がありますが、私のQA犯罪者がその部分を処理します。) いくつかのグーグル検索の後、ここで適切なリソースを見つけました(http://www.ymeme.com/creating-dynamic-websites-lisp-apache.html)が、1つだけのウォークスルーがあるように見えることに驚いています。誰かが他の人を知っていますか、それともCLispでウェブサービスを書くことで個人的な経験を共有できますか?
11 lisp 


4
Schemeから何を学ぶべきですか?
優れたプログラマーになるのに役立つ、Schemeから学べるユニークな機能は何でしょうか。 私は主流の言語で多くの経験があり、私の視野を広げ、他の言語にはない機能的な側面について学びたいと思っています。私はjavascriptのクロージャー、C#のラムダ式に精通しており、他の言語にはないことに焦点を当てることができるものに疑問を感じていましたか?Lisp構文を除いて、私はこれまでに他の言語で遭遇し​​たことがあるような気がします。 何か新しいことを教えてくれるScheme / Lispに固有のものは何ですか?

1
アレイに基づかないコンピュータアーキテクチャ[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 関数型プログラミングのモナドに関するWadlerの最初の論文(Haskell)、と彼は言う 長い歴史を持つもう1つの問題は、プログラムを配列の更新に基づくことが望ましいかどうかです。配列に基づくアルゴリズムとアーキテクチャの開発には多大な労力が費やされているため、この議論を回避し、答えが「はい」であると想定します。 他の可能なアーキテクチャへの引用やヒントはありません。Lispに適したアーキテクチャについて何か聞いたことがあります。誰かが私にこのトピックの/どこから始められるかについての説明とガイダンスを教えてくれますか?異なるアーキテクチャについて簡単に説明していただければ幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.