添付の例で期待した結果が得られません
ターミナルで実行すると
最終行の
どういうわけなのでしょうか
ターミナルで実行すると
[" とだけ表示され、あとは Ctrl+C するしかない状態になります最終行の
(c:r) の部分が犯人らしいことは分かっているのですがどういうわけなのでしょうか
[" とだけ表示され、あとは Ctrl+C するしかない状態になります(c:r) の部分が犯人らしいことは分かっているのですが
(l,(c:r)) = break (== c) str
c は split の引数の c ではなく、新たに束縛される変数の名前となります。そして、その新たに束縛された c が break (== c) で参照されます。つまり、その行は
(l,(d:r)) = break (== d) str
break の結果の2番目の最初の文字は必要ないので、単にワイルドカードで受けて
(l,(_:r)) = break (== c) str
Text.Regex.Posix を用いた正規表現についてです
> import Text.Regex.Posix
> "2019/09/30" =~ "([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})" :: Bool
True
> "2019/09/30" =~ "([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})" :: String
"2019/09/30"
> "2019/09/30" =~ "([0-9]{4})?/([0-9]{1,2})/([0-9]{1,2})" :: Bool
True
> "2019/09/30" =~ "([0-9]{4})?/([0-9]{1,2})/([0-9]{1,2})" :: String
"2019/09/30"
> "2019/09/30" =~ "([0-9]{4})?/?([0-9]{1,2})/([0-9]{1,2})" :: Bool
True
> "2019/09/30" =~ "([0-9]{4})?/?([0-9]{1,2})/([0-9]{1,2})" :: String
"
> "2019/09/30" =~ "([0-9]{4})?/?([0-9]{1,2})/([0-9]{1,2})" :: String
"2019/09/30"
" だけで終わっていることからして、satunさんの手元でもそうなっていると思われます。stack build --ghc-options '-ddump-splices' ってどのディレクトリーに出力されるんでしたっけ?.stack-work を掘れ、とだけありますね...--ddump-dir というオプションが stack build にできてるはず!
"haskeline-0.7.2.1"
"ghc-paths-0.1.0.9" "mtl-2.2.1" "network-2.6.3.1" "random-1.1" "syb-0.6"))
intero.el の隣りに intero.elc がある場合,これを消しておかないと上記変更しても読み込む設定が何も変わらないので注意してください.intero.el は,このあたりのバージョンをハードコードしてしまうのではなく.要求されたresolverから対応するltsに含まれる各パッケージバージョンを採用するようにすべきかもしれません.bytestring をちょっといじってるんですけど,パッケージの構成moduleをちょこちょこ書き換えたあと,Cabal fileのdependencyにダメージを与えていないこと……つまりdependencyの全組み合わせでビルドが通ることってどうやって検証すればいいですかね.bytestring ならそれでいいですね.ありがとうございます.……世のパッケージ作者さんがたは,こういうテストどうやってるんだろう…….scc :: Ord a => AdjacencyMap a -> AdjacencyMap (AdjacencyMap a)適用すればdagになるし僕の目的的には良いかなStateモナドの型についてなのですが、すごいHaskell楽しく学ぼうでは`s -> (a, s)`と書かれているのにstackageで見つけられる`State`は`s -> (s, a)`と書かれていて混乱しています。(containers パッケージの作者が mtl や transformers に依存したくないな、と思って独自に定義しただけのものなので、全く気にしなくていいです。lens パッケージが提供する諸々はそうする前提で作られています)containers パッケージの件については、こういうときはせめてコピペにして欲しかった... :disappointed: