haskell-jp / random #84

以前に話のあった、prime関連のWebページの在り処についてです。 TracからGitLabへの移行に伴って、以下の場所にmigrateされていましたので共有しておきます。
https://gitlab.haskell.org/haskell/prime/-/wikis/home
なお、3-release-policyのページは以下です。
https://gitlab.haskell.org/haskell/prime/-/wikis/libraries/3-release-policy
(あと、タイトルindexページを追加したので、そのうち各ページが、Google検索などの対象になると思います。)
@kazyasui has joined the channel
@shintak has joined the channel
@ has joined the channel
@ has joined the channel
久々にRedditのタイムラインを見てみたらhaskell-language-server-0.6.0が出てた https://www.reddit.com/r/haskell/comments/jsfq35/ann_haskelllanguageserver060_has_been_released/
hieでは動いてたhlint統合動かないなーと思ってたら動くようになったんですね
これはうれしい
@ has joined the channel
Windowsユーザーのみなさんへ: まだ手元で試せていないんですがGHC 8.10.2がまともに動かない問題、 https://gitlab.haskell.org/ghc/ghc/-/issues/18550#note_309996 曰くChocolatey版のGHCでは解決してるとのこと。
stackと併せて使いたい場合はstackの--system-ghcオプションを有効にすれば使えるはずです。
これちょうど昨日ハマりました。issueのコメントに書いてある、lib/settingファイルを書き換えるワークアラウンドで動かしてます
(余談)Haskellと関係なくてすみません。
ここを見てる人で当時を覚えている人がどれだけいるかわからないけど、そういえばそっくりな画像が昔Haskell-jp Blogのトップに使われてましたね... :sweat_smile: :mount_fuji:
https://togetter.com/li/1623319
issue でケレン味がありすぎると言われてたのが印象に残ってます
そうそう、それです。少し間違えて覚えてましたね
@yuki2501 has joined the channel
Haskell製アプリのWindows向けインストーラーの作り方(普通にNSIS全般の話
https://blog.patchgirl.io/haskell/2020/10/30/windows-installer-for-haskell-software.html
C でよくある
char* strcpy ( char* destination, const char* source );

みたいな関数が、線形型を使えば純粋なままできて、融合変換に頼らずとも中間データを消せるという話(と理解した
copyArray :: Array a → DArray a ⊸ ()

https://twitter.com/tweagio/status/1326913487751286788
@Manami has joined the channel
@Hesca has joined the channel
@usabarashi has joined the channel
今年の、State of Haskell Surveyの結果が出ています、ご参考:slightly_smiling_face::haskell:
2020 State of Haskell Survey results
https://taylor.fausak.me/2020/11/22/haskell-survey-results/
「Which platforms do you target?」でBSDはまだ分かるんですけどAndroidやiOSが10人以上もいるのすごい :open_mouth:
Clashという、Verilogを生成するHaskell製のDSLでFPGAを設計するガイド
https://github.com/standardsemiconductor/VELDT-getting-started
@Yasuhiro has joined the channel
@Jaeseung Han has joined the channel
Haskell Weeklyでの紹介記事です。 本当のReal World用にちょっとHaskellを使った話:slightly_smiling_face:
Haskell in the Real World
https://reasonablypolymorphic.com/blog/3d-printing/index.html
そこで紹介されている、Haskell製の3D CADライブラリの ImplicitCAD: Math Inspired CAD
https://github.com/colah/ImplicitCAD
http://www.implicitcad.org/
その対話環境の例!
http://www.implicitcad.org/examples/screw
@Yudai Tanabe has joined the channel
@sh9 has joined the channel
BloggerやWordPressからhakyllに自動で移行できるツールらしいです。そこまでやんのか... :open_mouth:
https://github.com/Minoru/hakyll-convert
連投済みませんがもう一つHaskell製の便利そうなツールを(こっちの方が利用頻度高そう)
https://github.com/tfausak/github-release
kowainikのメンバーによる、Haskell and Functional Programming についての新しいonline magazineだそうです。
Bind The Gap
Monthly Digital Functional Programming Magazine
https://bindthegap.news/#issues
以前にRedditで紹介されていた、英語版のAdvent calenderの一つです:christmas_tree::santa::gift:
(各々、軽いページっぽいので、Chromeでページごと和訳して気楽に読むのも良いでしょう)
Advent of Haskell 2020
https://adventofhaskell.com/
お洒落だ
ステップバイステップでLLVM IRへのコンパイラーをHaskellで書くガイド
https://qiita.com/mitsuchi/items/91b2b41cc63bb3ec87ff
aeson って、どうしてコンパイルに信じられないぐらいの時間がかかるんですかね?
ご紹介ありがとうございます! 嬉しいです。
こういうの書いた人が宣伝してくれてええんですよ!(宣伝しようと思っていたら私に先を越された、というケースもたまにあるようですが:sweat_smile:
GHC2021拡張について、ghc steering committeeによる議論&投票の中間状況(随時変更)です。
最終的に委員投票の2/3以上となった拡張が`GHC2021`拡張に入る方向です:haskell:
https://github.com/ghc-proposals/ghc-proposals/blob/ghc2021/proposals/0000-ghc2021.rst
committeeによる議論状況はこちら。
https://mail.haskell.org/pipermail/ghc-steering-committee/2020-December/date.html
@yusuken_ has joined the channel
https://www.snoyman.com/blog/2020/12/haskell-bad-parts-3 一部を除いて頷きすぎて首がもげるかと思いました。
• -Wallにしても有効にされない警告がいくつもある
• 標準ライブラリが小さいのでたくさんのパッケージをコンパイルする必要がある
• ByteStringと互換性のないText専用のビルダーがあるなど、textパッケージの抱える問題
• 未だにエコシステムがStringから脱却できていない
• ストリーミングライブラリではなくLazy ByteStringが使われている
• モジュール名が長く、qualified importするとさらに冗長になる
Lazy ByteStringやLazy Textは楽だし使っちゃうなー。
conduitとか結構難しいですからね…
しかしストリームしようとすると結局必要なので頑張る必要があるんですが
読んでたら、僕のツイートが出てきて焦った。。。
@ has joined the channel
timeout って、catch が使われていると、挙動が変わるかもと思ってやったら、本当に変わってました。こわ。

haskell
> timeout 1000000 (takeMVar mvar)
Nothing
> timeout 1000000 (takeMVar mvar `catch` \(SomeException _) -> return ())
Just ()
> timeout 5000000 (takeMVar mvar `catch` \(SomeException e) -> throwIO e)
Nothing
> timeout 5000000 (takeMVar mvar `catch` \(SomeException e) -> throwIO (userError ""))

そういうの避けるための https://hackage.haskell.org/package/safe-exceptions じゃないっすかね。safe-exceptionsなら timeout とかがだす非同期例外を catch しなくなるはずです。
Haskellで型レベルCPUを定義して、その上で型レベルCコンパイラを動かそうとしたんですけどメモリをものすごく使うのでダメでした、残念
https://www.slideshare.net/mobile/SoheiYamaga/compile-time-type-level-c-compiler-this-may-indicate-out-of-memory
https://github.com/eliza0x/type-level-cpu https://github.com/eliza0x/elvm