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マクロに頼らずにってことですか?