初心者ですが
はじめテキトーに書いてコンパイラが怒ってくれるのを導きに修正していくという書き方ができるので
楽だし、すごく楽しいですね
あまりに嬉しいので投稿しました
はじめテキトーに書いてコンパイラが怒ってくれるのを導きに修正していくという書き方ができるので
楽だし、すごく楽しいですね
あまりに嬉しいので投稿しました
<>
を適用)しても、各演算の左辺と右辺さえ変わっていなければ結果は変わらない」という性質なので、この記事では、単語や行を数える問題をMonoid則を満たすように分割することで、並列処理してバラバラに実行しても、結合するときは正しく計算されるようにした、という例です。Non-exhaustive patterns
はコンパイル通ることがあるのですね、気をつけなければ-Werror
と -Wall
オプションを付ければエラーにすることができます。stack build --pedantic
はそのショートカットです。Integer
型のフィールドを定義する方法はあるのでしょうかそんなものはないと言われるというのはどんなエラーですか?
Int64
もありそうでないのですNo instance for (persistent-2.9.2:Database.Persist.Sql.Class.PersistFieldSql Integer
Integer
を persistent
パッケージの Database.Persist.Sql.Class.PersistFieldSql
のインスタンスにするのが正解、ってことなんでしょうね。ただ、一般にRDBがサポートする整数型に多倍長のもの(最大値が無限のもの)はないため、自明なインスタンス定義がない、ということなんでしょう。Int64
については https://hackage.haskell.org/package/persistent-2.10.4/docs/Database-Persist-Sql.html#t:PersistFieldSql を読む限り定義されている、ような...? :thinking_face:Int64
とするとまた別の短いメッセージがありますimport
が必要ですね。Int64
は Prelude
にありません...Int
は64bitな環境であればちゃんと64bitになります... まぁ、精度を明示するのはいい作戦だと思いますが。Prelude> import Data.List Prelude Data.List>
Prelude> :set prompt "ghci> " ghci>
:set prompt "ghci> "
:
とは何のことですか。~/.stack
以下のどこかに ghc-8.6.5
などといったディレクトリーがあるはずです。stack build
を実行すると、再度インストールすることになってしまうので「このバージョンのGHCに依存するパッケージはもうビルドしない!」と確信が持てているときだけ削除してください。stack.yaml
ファイルがあるディレクトリーではない、ってことですよね?~/.stack/global-project/stack.yaml
に、そのresolverの情報があります。resolver: lts-XX.X
などと書かれている行を、resolver: lts-14.20
と、最新のLTS Haskellのresolverに書き換えてください。hie
のバージョンっていくつですか?(以下のコマンドで確認できます。)$ hie --version Version 1.0.0.0, Git revision 1542fa2ee7485ce5db19f6c07fc96e7a39b4c5d5 (dirty) (3571 commits) x86_64 ghc-8.6.5