問題タブ [ghci]
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で新しいタイプを定義できないのはなぜですか?
新しいタイプを定義しようとすると、ghciでエラーが発生します。
私は何が間違っているのですか?
haskell - この Haskell ステートメントが遅延評価されないのはなぜですか?
次の関数を定義しています。
次に、次を実行すると:
遅延して 1 を返すのではなく、無限数列の合計を計算しようとします。なぜですか?
編集: さらに調査したところex
、ファイルで関数を定義すると遅延が発生することがわかりましたが、GHCI で定義した場合は発生しません。
ex
定義をファイル (この場合は test.hs)にプルすると、次のようになります。
では、新しい質問は、なぜですか?
ghci - 実行スタックを表示するghci
そこで、Real World Haskell の最初の章の演習に取り組んでおり、GHCi に各再帰呼び出しでパラメーターを使用して関数評価を表示するオプションがあるかどうかを知りたいと思いました。たとえば、単純なバージョンの 'map' を書き、それを適用すると、GHCi に実際の引数 (およびできれば式の結果) を使用して各再帰呼び出しを表示させたいと思います。舞台裏で何が起こっているのかを追うことができる何か。
PS私がこれを書いているとき、haskellの実行モデルの怠惰によって制限されている可能性があると感じています。間違っている場合は修正してください。
haskell - MonadErrorのGHCiのデフォルト実装は何ですか?
次のテスト関数を検討してください。
GHCi プロンプトで、次のことができます。
式の型として、Either String _ を指定したので、MonadError の Binary String 実装を使用します。MonadError の実装を自分で指定しなかった場合、またはこの関数を別の関数から呼び出して型推論を行った場合、エラーが発生すると想定していました。その代わり:
GHCi はある種の「デフォルト」エラーモナドを提供しているように見えます。誰かがここで何が起こっているのか説明できますか?
haskell - ghci 構成ファイル
Ubuntuでghci 6.8.2を使用しています。ghci は、初期設定を行うことができる構成ファイルを使用しますか?. 例: :set prompt "ghci> "
.
haskell - Haskellの単項演算子の接頭辞形式
GHCiの場合:
- プレリュード>(+3)2
5- プレリュード>(* 3)2
6- プレリュード>(/ 3)2
0.6666666666666666- プレリュード>( -3)2 文字通りのit'から生じる
(Num(t-> t1))のインスタンスはありません:it =(-3)23' at <interactive>:1:2
Possible fix: add an instance declaration for (Num (t -> t1))
In the expression: 3
In the expression: (- 3) 2
In the definition of
最後のものを修正して-1を返すようにするにはどうすればよいですか?
syntax - Haskell エラー: 入力 `=' の解析エラー
仕様
GHC 6.12.1
Mac OS X 10.6.4 x64
マックブックプロ
問題
let
構文の使用に問題があります。次のコードはコンパイルを拒否します。
タブを押してみましy = 2
たz = 3
。サイコロはありません。
(望ましくない) 解決策
コードをコンパイルする唯一の方法は、次のいずれかです
- ハードタブをスペースに置き換えます。
let
句を句に置き換えるwhere
。
haskell - モジュールを自動的にインポートするように GHCi を構成する方法
私が GHCi を使うときは、ほとんどの場合Control.Applicative
、Data.List
、 などをインポートすることになります。これらのモジュールを自動的にインポートするようにGHCiを構成する方法はありますか?
また、それらをインポートした後、プロンプトが非常に長くならないようにするにはどうすればよいですか?
haskell - Haskell の複数のソース ファイル
Haskell で最初の大きなプロジェクトを作成していて、それを複数のファイルに分割したいと考えています。これまでに、2 つのモジュールParse
とEval
. Main
これら2つのモジュールだけを含み、main
機能を指定するモジュールが欲しいです。Main.hs
、、Parse.hs
およびファイルがあり、Eval.hs
それらを にインポートしますがMain
、次のことが起こります。
このparse
関数は、 にインポートされた Parsec ライブラリから取得されParse.hs
ます。どうしたの?
ghci - 例外をもたらす空のリストの先頭呼び出しと末尾呼び出し
私はチュートリアルに従っています。(Real World Haskell)
そして、空のリストで呼び出される頭と尾についての初心者の質問が1つあります。GHCiでは例外が返されます。
直感的には、どちらも空のリストを返す必要があると思います。訂正してもらえますか?なぜだめですか ?(私がOzMLで覚えている限り、空のリストの左または右はnilを返します)
私は確かにチュートリアルでこのトピックをまだカバーしていませんが、それはバグの原因ではありませんか(引数を提供しない場合)?オプションの引数のリストを関数に渡す場合、それらを頭で読むとバグが発生する可能性がありますか?
私はGHCiの動作を知っているだけで、コンパイルするとどうなるかわかりません。