問題タブ [runhaskell]
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.
haskell - ghciで.hs拡張子のないrunhaskellスクリプトをロードするにはどうすればよいですか?
私は次のコードで名前が付けられたhaskellでスクリプトを書きましたtestscript
:
スクリプトを実行可能にした後、を使用して実行できます./testscript
。ただし、ghciを使用して(つまり、を使用して:l testscript
)スクリプトを読み込もうとすると、エラーが発生します。
名前をに変更testscript
してtestscript.hs
、もう一度ghciでロードしようとすると、エラーが発生します
シバンラインを削除すると正常に動作します。ただし.hs
、スクリプトに拡張機能を追加し、一番上の行を削除してから、.hs
拡張機能を削除し、ghciでスクリプトを試すたびにシバン行を追加するのは面倒です(これは、変更を加えるたびにかなり一般的です)それに)。これを行う簡単な方法はありますか?
Mac OSX10.6.8でghcバージョン7.0.3を使用しています
haskell - Runhaskell のパフォーマンス異常
でプログラムを実行したときに観察されるパフォーマンス異常を理解しようとしていrunhaskell
ます。
問題のプログラムは次のとおりです。
これを実行すると、1.18 秒かかります。
ただし、次のように再定義isFactor
すると:
その場合、プログラムは 17.7 秒かかります。
これはパフォーマンスの大きな違いであり、プログラムは同等であると期待しています。ここで何が欠けているか知っている人はいますか?
注: これは、GHC でコンパイルした場合には発生しません。
haskell - cabal-dev で runhaskell を使用するにはどうすればよいですか?
残念ながら、cabal-dev ghci はこのプロジェクトでは機能しません。エラーが発生します。
だから私はrunhaskellを試してみましたが、cabal-devの代わりにcabalでインストールされたパッケージを使用しているため、失敗します。
更新: runhaskell は同じエラーを生成します:
一方、cabal-dev install は問題なく動作します。
haskell - GHCIの文字制限?
私はghci
、Emacs を使用してインクリメンタル開発を行っていますrun-haskell
。時々、次のようなエラーが表示されます
中間変数を 1 つまたは 2 つ設定すると、動作する応答が得られ、作業中のファイルは適切にロードおよびコンパイルされます。文字数を減らすこともできます。私が打つことができると思われる最大は252です。
誰が何が起こっているのか考えていますか?
haskell - インタプリタされたHaskellとコンパイルされたHaskellのncursesの違いは?
Haskellで使用されている関数timeout
とncursesライブラリに奇妙な問題があります。getch
GHCiまたはrunhaskellからそれらを使用すると、期待どおりに機能します。入力が与えられていなくても、getch
与えられたミリ秒数を待ってからtimeout
戻ります。しかし、GHCを使用して同じファイルをコンパイルgetch
すると、すぐに戻ります。
Haskell用に2つのncursesバインディングを試しました。hscurses
:
およびncurses
:
どちらも前に説明したのと同じ奇妙な方法で動作します。
私もCで同等のプログラムを試しました:
これは期待どおりに機能します。
だから私の質問は、インタプリタとコンパイルされたHaskellからターミナルを使用するときに何が違いを生むことができるかということです。runhaskellとghciはいくつかの微妙な端末設定を変更しますか?または、コンパイルされたコードはライブラリを別の方法でロードしますか?
追加した:
FFIを使用してコンパイルされたHaskellからCプログラムを呼び出そうとしましたが、すぐに返されました(これは正しくありません)。これは、問題がライブラリにあるのではなく、GHCのランタイムのどこかにあることを意味していると思います。
haskell - GHCi と runhaskell の getLine 機能の違い
私はちょうど私が理解していないものに出くわしました。
私が GHCi を使用していて使用するgetLine
と、次のようになります
Haskellファイルに同じことを書くと
runhaskell でスクリプトを実行し、同じ入力を入力すると、バックスペースは期待どおりに「t」を削除します。
なぜ違いがあるのですか?
haskell - runhaskell setup configure [インストール]
Cabal-1.18.1.3 パッケージを構成しようとすると、次のエラーが表示されます。
Cabal-1.18.1.3 を構成しています... セットアップ: 存在しません
私のシステムは Windows 8 Pro x64、2GB RAM、1.7GHz デュアル コアです。\
試してみました: セットアップを Setup.hs として書いてみました
haskell - 書かれた haskell ファイルで再現できない ghci のエラー
このstackoverflowの回答をghciでチェックしようとしたところ、次のエラーが発生しました。
残念ながら、書かれた haskell ファイルでエラーを再現することはできません:
このファイルを実行するとrunhaskell file.hs
、期待値が得られます2
。ghci セッションでの間違いは何ですか?
編集:関数m
にはghciの奇妙なタイプがあることに注意しました:
これはなぜですか?それはタイプを持っているべきではありませんOrd a => [a] -> a
か?Forsort
とhead
私は期待されるタイプを取得します:
haskell - runhaskell は .ghci からオプションを取得できますか?
多くの人は、.ghci
モジュールを にロードするために必要なオプションを含めるために、haskell プロジェクトにファイルを含めますghci
。次に例を示します。
main
ただし、 〜を含むファイルを実行しようとすると、runhaskell
これらすべてのオプションを繰り返す必要があります。たとえば、次のようになります。
runhaskell
ファイルからオプションを取得する良い方法はあり.ghci
ますか?