haskell-jp / random #46

(絶対遅れそう…)
遅れてほしくはないが。8.6.4の段階だとTHが使い物にならない(コンパイル時間的に)ので、それを直してから8.8に行ってほしいとは思う。 もうすでに当初の8.8.の予定から遅れてるし。
Cのコードを生成する組み込みシステム向けHaskell製DSL https://copilot-language.github.io/
同じようにCのコードを生成するDSLといえばIvoryがありますが、こちらはまた対象がちょっと違うのかな?
あんまりHaskellerっぽくはないCコードを生成しますね.
サンプルコードから生成されたものですが,.cと.hがセットで吐かれて,.hが
uint8_t temperature;
void heatoff(float heatoff_arg0);
void heaton(float heaton_arg0);
void step(void);

みたいな感じ..cで実装されてるのは step のみで, heatonheatoff は自分で別途実装する.これを利用する側では「 temperature にセンサ等から拾った温度を代入して step 呼ぶ」 を無限ループするような処理を書くと, temperature がHaskell側で定義した条件に合致したときに heatonheatoff が呼ばれるような step になっているので,ハードウェアの制御とかができますよ的な.
GHC 8.6.5-rc1, やっぱり https://gitlab.haskell.org/ghc/ghc/issues/16408 この問題直していただけてました。 :tada:
久々に手元のパッケージのhaddockを手元で変なワークアラウンドなしに出せたのでうれしい。 :joy:
Stackでpackage.yaml使う場合alexとhappy入れておけば自動で使ってくれるという知見を得ました
ん?どういう意味ですか?
hpackを入れておけば自動で使ってくれる、ではなくて?
cabalファイルみたく明示的に書かなくても.xと.yで自動的にalexとhappy使ってくれるという、多分自明っぽいやつです
.chsとかはどうなんでしょ?
stackのソース見たら対応してるっぽいですね 
そうか... cabalでalexやhappyを使ったことがないので存じませんでした... :serval:
ゼロコストは言い過ぎとRedditで突っ込まれてますが実際速いみたいですね :eyes:
https://www.reddit.com/r/haskell/comments/bbqzrd/ann_polysemy_higherorder_noboilerplate_zerocost/
今日のHaskell Weeklyから。なんかHaskellを使ったプログラミング未経験者でも読める本を出すらしい。 :books:
https://atypeofprogramming.com/
@米栂 has joined the channel
STM使ったマルチキャストなロガーライブラリをhackageに上げてみました。初めてなので緊張した……。英語は大目に見てください https://hackage.haskell.org/package/caster-0.0.1.0
続報を待て
依存型と線形型つきな言語?
https://github.com/granule-project/granule
(ghc)Haskellの機能として依存型と線形型は欲しいですよね。
@AnnPin has joined the channel
prime.haskell.org の証明書って、期限切れになってませんか?
なってる
2019年4月11日木曜日 6時03分43秒 日本標準時
GHC 8.8 では、Monadクラスからfailメソッドが取り除かれ、パッケージが多数死亡。リリースされても、嵐が通り過ぎるのを待ってご利用下さい。
お使いのパッケージがまだ対応できてない!という場合、 http://head.hackage.haskell.org/ のご利用もご検討ください。
https://github.com/hvr/head.hackage で管理されている、パッチを当てたバージョンを取得することが出来ます。
(まぁ、8.8がリリースされる頃には本家Hackageに対応済みのバージョンがリリースされると思いますが)
ありがとう。headを試してみたけど、最新の Cabal & cabal-install が入ってないと、結局使えないみたい。
baseライブラリの fail の報告イケてないと思います 絶対消すって決定した時点でdeprecated なりwarning なり入れとくべきでしょ。 少なくともそれで多くのユーザにまだ、 Monad.failを使ってるって情報を与えて変更しやすくしないと…
MonadFailに関する仕様変更は当初の計画とも違っており、反面教師にしなければならない例ですね…
8.6の時点で壊れるのはdoの中で部分的なパターンを使った場合のみで、8.8ではかなりのコードが壊れることが予想されます
-Wcompat が-Wallに含まれてない問題?
-Wcampat有効にしてたから警告消すの気持ち良いんじゃ~ってやってましたね
こういう破壊的変更は確かに一度-Wallにも入れるべきな気がします
GHC 8.8 では StarIsType が次の段階に行く他、 local の kind generalization のアルゴリズムも変わるので、 type level coding を多用してるコードも、 warning なりコンパイル出来なくなったりすることが増えそうですね
https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.8
確認しましたが、fail の問題は、GHC 8.6 + -Wcompat でも警告は出ませんでした。
ダメだこりゃ。
「Monadのfailメソッドを使っている」ことに関しては一切警告はないので、完全に不意討ちを喰らいましたね
ちょっと、haskell-cafe に行ってくる(ghc-dev だと狭すぎる)。:-)
https://wiki.haskell.jp/Hikers%20Guide%20to%20Haskell#%E3%81%9D%E3%81%AE%E3%81%BB%E3%81%8B%E8%A8%98%E5%8F%B7%E3%81%AE%E8%AA%BF%E3%81%B9%E6%96%B9
Haskellで使われる記号についてお悩みの方をTwitterで見かけたので、「Haskellの歩き方」に https://github.com/takenobu-hs/haskell-symbol-search-cheatsheet などの情報を追記しておきました(有用なまとめだと自負しているので気が向く度に宣伝します :triumph: )。
はてなブックマーク数1は明らかに過小評価されてますよね…
@ekmett has joined the channel
wow, @ekmett was here!
Haskell Dayにて講演いただくプランが進行中です。 :sunglasses:
ビデオチャットでの講演になるかもですが
@lotz Foldableの背景ですが、Crushは読みましたか? (単なるHutton本2の受け売りです。僕は理解していません。)
"Calculate Polytypically!", Lambert Meertens
読んでませんでした!
Hutton本2は持ってないんですが、調べたら意外にも出てきて、恐らく [28] が "Calculate Polytypically!", Lambert Meertens でしょうか…?
読んでみます :pray: :exclamation:
ありがとうございます!
https://books.google.co.jp/books?id=75C5DAAAQBAJ&pg=PA210&lpg=PA210&dq=foldable+%22Crush%22+haskell&source=bl&ots=na3vVkoxz1&sig=ACfU3U1a3cmytF_FL_xTLjL9bR5vVTHZPg&hl=en&sa=X&ved=2ahUKEwjn6dbUutjhAhVFzbwKHXR0AQ0Q6AEwAXoECAgQAQ#v=onepage&q=foldable%20%22Crush%22%20haskell&f=false
@ogata-k has joined the channel
参加してるカンファレンスにて
ラムダマン(笑)
ラムダマンいつも通り印象的なスピーチしてました。