yossy52
@yossy52 has joined the channel
WARNING: The "stack" executable found on the PATH environment variable is /usr/local/bin/stack, and not the version that was just installed. This means that "stack" calls on the command line will not use this version. New stack executable available at /Users/shioihiroto/.local/bin/stack
curl でインストールする方法だと思いますが、最近その警告が出るようになりました。stack が /usr/local/bin に残っていると出たような気がしますが、どうでしょうか?stack upgrade は /Users/shioihiroto/.local/bin/stack に新しいバージョンの stack をインストールしたけど、パスは /usr/local/bin/stack に通ってるんだけどいいの?/Users/shioihiroto/.local/bin/stack のパスを /usr/local/bin/stack より優先度上げればいいんじゃない?stack のバージョンが古すぎると stack upgrade した時にバイナリが落ちてこない (最新の stack をソースコードからコンパイルしだす) ので /usr/local/bin/stack を削除します。stack であれば stack upgrade してしまって export PATH=~/.local/bin:$PATH を .bashrc などに追記しておくと良いと思います。export PATH=$PATH:~/.local/bin にすると常にシステムの stack を参照するのではまります。stack の changelog を見ると、この問題に対処したように思うのですが、試してないので良くわかってないです。:~: って何に使うのでしょうか?どうやって使うのでしょうか?¿ :sob::innocent::sob::oden:GADTs が分かっていれば https://hackage.haskell.org/package/base-4.10.1.0/docs/Data-Type-Equality.html#t::-126-: の定義そのままの意味を持ちます(つまり, Refl :: a ~ b => a :~: b という唯一のコンストラクタを持ちます). 単純に考えると, a :~: b という型を持つ値があるならば(ボトムを考えなければ) a ~ b という命題が真にになります.a :~: b は Dict (a ~ b) と同じです)Is がmachinesパッケージで定義されていて、ストリームの入力を指定する手段として使用されています https://hackage.haskell.org/package/machines-0.6.3/docs/Data-Machine-Process.html:t Refl とやると Refl :: a :~: a と出てくるのですが、 Refl :: a ~ b => a :~: b はどうしてわかるのでしょうか?:scream_cat:_WIN64とか _WIN32とかのcompiler predefinedマクロに頼らずにってことですか?