問題タブ [clojure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
15 に答える
27614 参照

macos - Mac OS X での Clojure エディター/IDE の推奨事項

Clojureプログラミング言語を学び始めています。Mac OS X での Clojure エディター/IDE に関する推奨事項はありますか?

Update 2009-09-23 : この質問を最初に投稿して以来、Clojure スペースは大きく変化しました。以下のリンクの多く、特に Emacs での clojure-mode を参照するリンクは古くなっています。私が見つけた最高の Clojure IDE は、最近リリースされた (2009-08-25) Enclojure Netbeans プラグインでした。

更新 2010-04-30 : このテーマに関するもう 1 つの非常に優れた記事は、Lau B. Jensen によるClojure IDEs - The Grand Tourです。また、私自身の clojure 開発のために、実際に Emacs / swank-clojureに移行しました。

0 投票する
1 に答える
2209 参照

java - Java+OpenGL でビルドするには、どの Ubuntu/Debian パッケージが必要ですか?

JOGL を使用したい (Java ではなく Clojure 用)。JDK と OpenGL バインディングにはかなりの組み合わせの選択肢があるようです。私は散弾銃のアプローチを使用して、あまりにも多くの粗悪品をインストールしてマシンを詰まらせたくありません。始めるのを手伝ってください!

  • どの Ubuntu/Debian パッケージをインストールする必要がありますか? sun-java6-jdk(例えば、で始まる)
  • JOGL パッケージがないようですが、どのようにインストールするのが一番良いでしょうか? CVS HEAD からビルドする必要がありますか、それともビルド済みの jar ファイルを使用する必要がありますか?

Emacs を IDE として使用するので、Eclipse などをインストールする必要はありません。必要なのは、ant などでビルドできることだけです。

包括的なハウツーを提供するために、回答を(他の回答に基づいて)自由に修正してください。

0 投票する
5 に答える
1573 参照

database - 健忘症患者の「最初の」機能言語? (私はClojureが本当に好きです...)

私は最近、前向性健忘症の可能性のある既存の症例に加えて、逆行性健忘症を引き起こす連鎖性解離性障害と診断されました. 多くの人が、私が以前の偉大なプログラマーであったことを思い出させようとしました。今は概念とイディオムを理解していますが、知っているかどうかにかかわらず、独学で学びたいと思っています。それによって記憶喪失の問題を克服できると思います。

stackoverflow さんへの私の質問は次のとおりです。最近 Clojure を見つけました。見つけた Web ページから例をコピーするだけでも、使い心地が良いです。関数型プログラミング言語を学ぶ私の目標は、簡単な Web サーバー、さまざまな種類の irc AI ボット、couchdb のようなデータベース システムを作成することです。これらはすべて、軽量で特に教育用です。Clojure にはどのような欠陥がありますか? 教育/および/アプリケーションのために今すぐ使用するより良い関数型プログラミング言語はありますか?

0 投票する
19 に答える
24822 参照

clojure - 関数型プログラミングは Web 開発に関連していますか?

私は最近、関数型プログラミングについて多くのことを見てきましたが、Clojure は特に興味深いようです。私はそれが何であるかの基本的な説明を「理解」していますが、Web 開発者として日常的にどのように使用するかを理解することはできません。私が読んだものの多くは、通常の OO で見られる典型的なプログラミングの状況ではなく、関数型プログラミングの数学的な側面に焦点を当てています。

スティックの端が間違っていますか?関数型プログラミングは Web 開発とはまったく無関係ですか? そうでない場合、「ウェブ用」に使用されている例はありますか?

0 投票する
12 に答える
18058 参照

database - Clojureでデータベースを使用する

Clojureのデータベースを使用する方法は何ですか?

Clojureから、Javaでできることは何でもできることを知っていますが、それは、Clojureの単純さと衝突する過度に複雑なもの(Hibernateなど)を使用してしまう可能性があることを意味します。推奨事項やコメントはありますか?

0 投票する
6 に答える
8774 参照

clojure - Clojure でプリティプリント

人間が読める方法でリストや構造体のようなデータ構造を出力するClojureにきれいな印刷機能はありますか?

0 投票する
7 に答える
1851 参照

language-agnostic - この非末尾再帰関数を書き直す良い方法は何ですか?

どういうわけか、この関数を一定のスタックスペースを使用するように書き直す良い方法を考えるのに苦労しています。フィボナッチ関数を使用し、その特定の問題の特性を利用することにより、ツリー再帰のチートに関するほとんどのオンラインディスカッションが行われます。この「現実世界」(フィボナッチ数列よりも現実世界)での再帰の使用について何かアイデアはありますか?

Clojureは、末尾呼び出しの最適化がなく、「recur」特殊形式による末尾再帰のみを備えているため、興味深いケースです。また、可変状態の使用を強くお勧めしません。tree-seqを含む多くの怠惰な構造がありますが、この場合にどのように役立つかはわかりません。C、Scheme、Haskell、または他のプログラミング言語から習得したいくつかのテクニックを誰かが共有できますか?

編集:コメントでリクエストして...

一般的な用語で言い換えると、Schemeを使用します-スタックスペースを消費したり、非自己呼び出しの末尾呼び出しの最適化を必要としないように、次の再帰パターンを書き直すにはどうすればよいですか?

x、macerate、frobnicate、f、g、またはhの代数的特性に依存しない答えを探しているという点を理解するために、迷惑な名前を選びました。再帰を書き直したいだけです。

更新

Rich Hickeyは、Clojureに明示的なトランポリン機能を追加してくれました。

0 投票する
14 に答える
23745 参照

functional-programming - 中規模の Clojure サンプル アプリケーション?

「ベスト プラクティス」の例として使用できる中規模の Clojure サンプル アプリケーションと、そのようなアプリケーションがコードとコード構成の観点からどのように見えるかを確認する良い方法はありますか? Web アプリケーションは私にとって特に興味深いものですが、最も重要なのは、プログラムが一般的に役立つ何か (ブログ、バグ追跡、CMS など) を実行することであり、実際に実装する必要がなかった数学的なことではありません。世界 (N クイーン問題の解決、Life のシミュレーション、フィボナッチ数列の生成、および関数プログラミング言語の通常の運賃)。

ありがとう!

0 投票する
2 に答える
3220 参照

java - Clojure から Java を呼び出す

Clojure で (REPL から) 次のコードを実行しようとすると:

次のエラーが表示されます。

ここで何が間違っていますか?

0 投票する
5 に答える
22413 参照

algorithm - 順列の遅延生成

Clojure でそれらの遅延リストを作成できるような方法でセットの順列を生成するアルゴリズムを探しています。つまり、要求するまで各順列が計算されず、すべての順列を一度にメモリに格納する必要がない順列のリストを繰り返し処理したいと考えています。

または、特定のセットが与えられた場合、そのセットの「次の」順列を返すアルゴリズムを探しています。これにより、独自の出力で関数を繰り返し呼び出すと、元のセットのすべての順列が循環します。いくつかの順序 (順序は重要ではありません)。

そのようなアルゴリズムはありますか?私が見た順列生成アルゴリズムのほとんどは、それらをすべて一度に (通常は再帰的に) 生成する傾向があり、非常に大きなセットには拡張できません。Clojure (または別の関数型言語) での実装は役に立ちますが、疑似コードから理解できます。