haskell-jp / random #93

:man-bowing: すみません、文脈を共有してませんでした。
slack-logのこちらの修正 https://github.com/haskell-jp/slack-log/pull/58 の、リリース後の確認をしていました。
@山下壮樹 has joined the channel
すごい :clap:
うちよりお金ある会社の方も是非スポンサーしてください!!
http://haskell.foundation/donations/
Haskell-jp Admins も寄付受付スキーム作りたい
@ has joined the channel
こういうの書きながらAesonにmergeしてもらいたいし文字数書くのミスするし嫌だなあTHは面倒だし、
と思ってたけど、
@igrep さんが良いパッケージ書いてるのに気がついたのでいただきます。
YAMAMOTO Yuji / deriveJsonNoPrefix · GitLab
@gemmaro has joined the channel
@yuist has joined the channel
@HA has joined the channel
だいたいのLensの類いは Monoid のインスタンスになるらしい。それを Plated とか generic-lens と組み合わせた例 :open_mouth:
https://www.haskellforall.com/2021/09/optics-are-monoids.html
こんな風にHasura(Haskell製GraphQLを使ったミドルウェア)がHaskellの文脈を離れて紹介されるとは
https://qiita.com/yuno_miyako/items/4a4f68a473231f8c07cd
@chansuke has joined the channel
@tuft has joined the channel
@山田k has joined the channel
@ has joined the channel
@dhesusan has joined the channel
設定にオンオフの要素があるとき、例えばその名前を checked とすると
data Checked = Checked

data Config = Config { checked :: Maybe Checked }

というようにコードにするの違和感あります?
data Config = Config { checked :: Bool }

でいいかどうか
動機としては要素が増えて Config True False False となると何番目がどれだっけとなる……けどレコードの記法すればいいかなどと逡巡しております
... Replies ...
うーん、GHC でコンパイルできるのに hlint でパースに失敗する
... Replies ...
@kzhk has joined the channel
@12 teka has joined the channel
Haskell Day 2021 の当日の YouTube 配信はこちらのチャンネルから行なう予定です
よければチャンネル登録してね
https://www.youtube.com/channel/UC3PFuhHhbgWca1UkgvwsTGQ
@hdr12271 has joined the channel
@Dainslef has joined the channel
:warning: aesonパッケージにおけるHash DoS脆弱性について :warning: ビルド時のフラグで利用する連想配列の実装を、従来の(脆弱な)HashMapか(安全な)Mapか選べるようになったので、例えばよくあるREST APIのような、aesonを使って外からのJSONを処理するアプリケーションは、フラグの設定が推奨されます
詳細: https://frasertweedale.github.io/blog-fp/posts/2021-10-12-aeson-hash-flooding-protection.html
... Replies ...
@taka has joined the channel
https://scrapbox.io/haskell-shoen/barbies-th barbies-thは、Haskellの通常のデータ型の定義をHigher Kinded Dataに変換するライブラリです。試験的に、変換元と等価な型シノニムも定義するpassthroughBareBという関数を追加しました。これを使えば一切既存のコードを変更せずにHKD化ができるので(インポートやLANGUAGEプラグマは必要ですが)、ビギナーにもおすすめです。HKDを使ってみたいけれど型名周りの対応が面倒、という人はぜひGitHubの最新版を使ってみてください
@toson has joined the channel
このスレッドの件、試しに開発中の https://github.com/igrep/wai-sample でaesonのバージョンを上げてみたんですが、aesonに間接的に依存しているパッケージに依存していると、まだサポートできていないものがあって厄介ですね... :disappointed:
https://twitter.com/igrep/status/1450752567311405058
のとおり、例えば現状yamlパッケージを使う場合は、stack.yamlの extra-deps- yaml-0.11.7.0 などと追記することになりそうです。
@蛇渕晃永 has joined the channel
Hidekazu IWAKI
@Hidekazu IWAKI has joined the channel
@角田智活 has joined the channel
@jxv has joined the channel
@ has joined the channel
え、もしかして来週!?
シグネチャーパッケージとも言えるobjectiveを更新しました(APIに大きな変更はなし)。オブジェクト指向のエッセンスを「状態を持ったメッセージの翻訳機」と解釈し、それをHaskellの純粋なデータ型として実装したライブラリです。活用できる場面はかなり限られますが、ここぞというときに高い表現力を実感できるでしょう 
Haskellを以前触って脱落してまた触るようになった復帰勢です。
この中だとかなりライト勢だと思いますが、Haskellは一番好きな言語です。
好きと言っても理解できてるかと言われると未だにアレなので、頑張って学びます。
以前と比べるとhaskellだいぶ環境構築しやすくなりましたね。
以前はcabalで構築しようとして最初のプログラムを生成できる段階にするまでかなり手間取った記憶があります。
一応は動く状態にできたのですがすぐ依存関係で壊れたので結局haskell platform + leksahでやってました。
(そしてそちらもやがて環境が壊れてhaskellを一旦離れました・・)
直近はstackでVSCode上で環境を構築したのですが、慣れもあるかもしれませんが割と簡単にできた印象です。
(簡単と言っても壊れにくいという意味で手間はかかるので堅牢という方が近いかもしれません)
文字コード関係で引っかかりましたが、すぐ解決できました。
ネット上の情報も増えたからなのかもしれません。
他の言語と比べると導入の壁はまだ高いと思いますが・・。
個人ごとを書きづらい雰囲気だとは感じましたが書いてみました、
もし駄文であったら長々失礼しました。
@たくや has joined the channel