は、GHC(栄光グラスゴーHaskellのコンパイラは)に「コア」はHaskellをコンパイルし、そのコアのマシンにコードをコンパイルします。あたかもバイトコードであるかのように、HaskellプログラムをGHCコアとして配布することは実用的であろうか?そのような流通に利益があるだろうか?なぜ、なぜそうではないのですか?"バイトコード"としてのGHCコア?私はそれを理解したよう
答えて
これは実用的ではありません。 GHCコアは移植性がありません。たとえば、32ビットマシンでは、64ビット算術はコアの外部関数呼び出しにコンパイルされますが、64ビットマシンではネイティブの機械語算術が使用されます。さらに重要なこと
は、GHCは実際にコアを読み取ることができません。それはいくつかの形式でそれをプリントアウトすることができますが、中にこれらの形式のいずれかをリードバックする実際のコードはありません。私はそうすることへの大きな障害が存在することになるかどうかわからないんだけど、それは長年にわたって文書化の状況をされています私はすぐにサポートが出るとは思っていません。
コアは、一般的にはHaskellのにかなり近いです。あなたはその形式でコードを配布することから何を購入するのかは明らかではありません。それはコアにHaskellのを回すのにかかる時間は、通常、それがリンク最終的なプログラムのようなものを行うために要する時間未満であることを行っているので、通常はすべてのコンパイル時間に多くを保存しないでしょう。
また、Haskellのソースコードよりもチェックが少なくなっています(私は-dcore-lint
がこれを軽減するとは思いますが)、それを効果的にサンドボックス化するのは難しいでしょう(Safe HaskellはありますがSafe Coreはありません)。もちろん、これらの欠点は、バイトコードのソースが信頼できる場合には当てはまりません。
基本的に、GHCコアは、PythonのバイトコードとJVMのような目的のために設計された移植可能なバイトコード形式とは対照的に、コンパイラの中間言語です。
GHCiで使用されているように、GHC はにバイトコードインタープリタを持っています。そこで使われているバイトコードも移植性がないので、通常の操作でGHCが生成するマシンコードと比較して、私が考えることができる利点はありません。
- 1. 私は移動コンストラクタを理解しようとしている
- 2. 私は、次のコードを理解しようとしてきたのjavascript
- 3. GHCコアへのコンパイル
- 4. は、私が理解しようとしている
- 5. ジェネリックは、私は次のことを理解しようとしたカッコ
- 6. CakePHP HABTM - 私はそれを理解していません
- 7. どのように私はこれを理解しようとしている私の脳をラッキングしてきた私は、Python 3.3
- 8. Javaバイトコードを理解する
- 9. 私はこのアンドロイドアプリのコードを理解しようとしています
- 10. はそれが私はこのためにコンパイルエラーを取得する理由を理解していない
- 11. コンパイルLuaのコード、店のバイトコードし、それをロードして実行
- 12. PHPを使いこなそうとしていますが、エラーを理解しようとしています
- 13. HaskellのGHCは、私はソースからGHC 7.2.2を構築しようとしています</p> <p>GHC 7.0.3、設定がHsColour
- 14. 私はリンクされたウェブサイト、css3またはjqueryでアニメーションがどのように行われたかを理解しようとしていますか?
- 15. カールの問題は、私はちょうどそれを解決しよう
- 16. 私のC#アプリはアンチウイルスアプリケーションによってフラグが立てられています。どうして私はその理由を理解できますか?
- 17. AngularJSはjsフィルタを理解しようとしています
- 18. 私のリンクリストプログラムでメモリリークを理解しようとしています
- 19. コールバックは、私はから来たコードのD3の部分を理解しようとしている謎
- 20. 実装されていないメソッドが解決されるプロセスを決定する要因は何ですか?私はそれを理解したよう
- 21. は、私はこの警告を持って、私はそれを理解できなかった私のアプリをコンパイルしたとき、私は
- 22. シングルトンで放送変数を使用しての長所と短所は何ですか?私はそれを理解したよう
- 23. 複数の機能をプロローグDCG?そのように解析している間に私が理解から
- 24. IOCとバインディングを理解しようとしています
- 25. クラスとインスタンスを理解しようとしています
- 26. カピバラとモックデータを理解しようとしています
- 27. クラスとヘッダーを理解しようとしています
- 28. instanceofの正しい決定はいつ使用していますか?私はいつもそれを理解してきたように
- 29. は、私は次のように使用して、それを集約しようとしていますR
- 30. は、私は私にエラーを表示し、それjupyter実行しようとしていた場合jupyter