問題タブ [clojureclr]
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.
clojure - clojure-clr との間で .net 関数/クラスを使用するにはどうすればよいですか?
たとえば、System.Console.WriteLine
clojure-clr からどのように使用できますか? 一般に、C#/F# などの他の言語から関数/クラスを Clojure-clr との間でエクスポート/インポートするためのルールは何ですか?
clojure - Clojure.Main.exe と Clojure.Compile.exe は何をしますか?
clojure-clrをダウンロードしたところ、Clojure.Main.exe と Clojure.Compile.exe という 2 つの実行バイナリがあることがわかりました。Clojure.Main.exe は REPL であることがわかりましたが、Clojure.Compile.exe が何をするのかわかりません。これら 2 つのツールは正確には何をしますか?
clojure - ClojureCLR に関する適切なドキュメントやチュートリアルはありますか?
私はClojureを調べることにしました(この本に触発されました)。少し調べた結果、 ClojureCLRを使用することで、さまざまな Java ライブラリを学習する必要がなくなり、.Net の経験を活用できる可能性があることがわかりました。ただし、Clojure の CLR バージョンに関するドキュメントはほとんど見つかりませんでした (公式 Web サイトでさえ、JVM 実装のドキュメントに誘導されているようです)。
まともなチュートリアル、本、記事、またはドキュメントがどこにあるか知っている人はいますか? 本当に何もない場合、私が知る必要があることのほとんどについて、JVM 実装を介して学習できると想定しても安全でしょうか (つまり、2 つの実装にはほとんど違いがないため、知識はかなり移転可能です)。
必要に応じて、JVM のバージョンと Java ライブラリを学習したいと思っています (拡張するのは良いことです... そのため、最初に関数型言語や Lisp 言語を調べています)。
clojure - CLOJURE_LOAD_PATH を設定できません。ランタイムから TypeInitializationError を取得する
CLRでClojureを実行しようとしていますが、いくつかの基本的な問題で立ち往生しています。この質問に基づいて、次のコードを使用しています。
program.clj で:
次に、Program.cs で次のようにします。
Program.cs を実行すると、「ロード パスに clojure/core.clj.dll または clojure/core.clj が見つかりませんでした」というエラー メッセージとともに TypeInitializationError がスローされます。デバッグするために、次の行を追加しました。
予想どおり、最初の WriteLine には「c:\clojure」が表示されます。2 つ目は「clojure.load.path」を示しています。私の理解では、ランタイムはロード パスの環境変数を参照していました。では、なぜ見つからないのでしょうか。他にどのようにロード パスを設定しますか?
visual-studio - Visual Studio Extension (VSIX) でプロジェクト ファイルの種類をプロジェクトの種類に関連付ける方法
Visual Studio が拡張子 .cljproj を持つファイルを Clojure プロジェクトとして認識しないVsClojureのバグを修正しようとしています。これは、VS がまだ開いていない場合にのみ発生します。つまり、VS を開いてから Clojure プロジェクトを含むソリューションを開くと、そのプロジェクトが認識されます。ただし、エクスプローラーからソリューションを開くか、エクスプローラーからプロジェクト自体を開こうとすると、「このプロジェクトの種類は Visual Studio によって認識されません」と表示されます。
私の推測では、このプロジェクトの種類を認識するために Visual Studio が読み込む必要があるものは、エクスプローラーからプロジェクトを開いたときにすぐには読み込まれず、Visual Studio が既に起動して実行されているときに読み込まれます。私の質問では、Visual Studio が拡張機能のプロジェクトの種類を認識するために何を読み込む必要があるのでしょうか? また、Visual Studio にロードするように指示するにはどうすればよいですか?
MSDN の VSIX ドキュメントで回答を確認しましたが、確認すべきドキュメントが山ほどあり、調べたところ、この質問に関連するものは何もありませんでした。IronPython の拡張機能も見ましたが、VsClojure のものとはまったく異なる構造になっているようです。どんな助けでも大歓迎です。
.net - Lisp ファミリー言語の .NET 実装の発見
基本的に、ここではSchemeとClojureを比較しているわけではありません。実現を比較したいのです。がある:
Visual Studio拡張機能を使用してもインストールできるClojure-clrですが、この方法で使用するにはまだ少しバグがあります。そのようなプロジェクトを作成して保存すると、再び開くことができなくなります...
IronScheme には、私が知る限り、IronScheme 用の VS アドインはまだありませんが、.NET サポートが改善された可能性があります。
では、この 2 つ (または、lisp に似た構文を持つ別のものがあるかもしれません) のうち、より優れた CLR サポートを得たのはどれでしょうか?
clojure - 複数の名前空間を持つ Clojure CLR
データベース操作を行うために小さな名前空間を作成しましたが、それを別の名前空間内から使用したいと考えています。通常、ファイルを同じディレクトリに置いてから実行します
必要なことはそれだけでしょう。ただし、これは Clojure CLR では機能しません。コンパイラは、other-ns について知らないと文句を言います。では、これを行う適切な方法は何ですか?名前空間ごとに個別のアセンブリがありますか?
[編集] 別の例
別の.clj
プログラム.clj
repl に program.clj をロードすると、次のメッセージが表示されます。
FileNotFoundException ロード パスに another.clj.dll または another.clj が見つかりませんでした。clojure.lang.RT.load (d:\work\clojure-clr\Clojure\Clojure\Lib\RT.cs:3068)
clojure - 具象化、ToString
おそらく明らかですが、このコードが与えられた場合(http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/reifyから):
なぜこの出力が得られるのですか?
それ以外の:
役立つ場合は、WindowsでClojureCLRを実行しています。ありがとう!
clojure - JVM と CLR での Clojure のパフォーマンス
Clojure on JVM と CLR のパフォーマンス比較はありますか? それとも、パフォーマンスが重要なコードで両方を使用したことのある人から、逸話的なコメントをいただけるでしょうか?