haskell-jp / random #104 at 2023-10-07 13:15:43 +0900

みなさんってHaskellどんな用途で使用されてますか?
自分はHaskellでお賃金を貰うことはしていないので本当に一言で答えるなら「趣味」ということになりますが,おそらくこれはご所望の答えではないように思うので,もう少し野心的な話にさせて頂きます.
自作のプログラミング言語を作成しようとしています.abstract syntax tree を作成/処理する必要があるのですが,それに最も適していると感じたのでHaskellを使用しています.(自作せずともHaskellで満足じゃという意見もありますが,プログラマなんてそんなもんです.)
Haskellについて良いと感じる部分は,客観的にはモナドによる副作用の分離とADT/パターンマッチによる漏れの無い処理の記述,主観的には頭にある数理/定義をほぼ直接アウトプットするだけで良いというある意味での手軽さ,言葉にするなら主にこういった点になります.

Haskellの実世界への応用という意味での用途は自分も気になっている(し,あわよくば自分もお賃金が欲しい)ので,ご存知の型がいればそちらの方面の回答も期待しています.
かりんとう
自分は数理的な要素が強いものはHaskellを好んで使ってます。
(ただ、今まで作ったものでまともに機能がまとまっているものは数独を解くものくらいです)
趣味で使ってますが、単純にHaskellは触ってて楽しいです。

描画のサポートが弱いのでそこは難点ですが、web assembly(のWASIではなくWASMの方)がサポートされたら、
描画をHTMLやjsで、数理的な部分をHaskellのweb assemblyで作ってWEB公開とか今後できそうなので期待しています。
(Webで公開したいけどjs使いたくないので、今までC# Blazorとかで妥協してたのがHaskellでできるのは個人的に朗報)

他の方の聞こえてくる話だとWeb通信の文字列のパーサ?(違ったらすみません)とか構文解析に使う例もあるようです。
私はXmonadというLinuxのウィンドウマネージャの設定を書いたり、それ自体を改造することに使ったりとか、Hakyllという静的サイトジェネレータを使ってブログ作ったりしてます(Hakyllで使うHTMLのテンプレートもHaskellを使って生成したりしてます)
自分はlean4という別の純粋関数型言語の理解のために、Haskellも勉強したら役に立つかもと思ったので勉強しています。
数学的なことを扱うときはHaskell強いですよね。
> web assembly(のWASIではなくWASMの方)
本題から逸れていて申し訳ないんですが、どういう意味でしょうか?FFIみたいな要領でJSのAPIをimportするのはAsteriusの頃からできたので、できそうな気もしますが...
かりんとう
igrepさん
web assembly(のWASIではなくWASMの方)
GHCではWASIにはコンパイルできるけどまだWASMにはコンパイルできないと思ってました。もしかしてもうできるんですか?
WASIは、(そのままでは外部から入力を得たり外部に出力したりできない)Wasmのための、標準的なAPI群のことなので、ここでいうWASIにコンパイルできる、というのは言い換えると「WASIを通じて入出力などをできるようにしたWasmにコンパイルできる」という意味なので、WasmにコンパイルできていないとそもそもWASIにコンパイルすることもできないです。
かりんとう
そうなの!?今までこの認識してました。参考サイト↓
https://zenn.dev/newgyu/scraps/ffbce244b960e6
かりんとう
試してなかったのでとりあえず試してみます、igrepさんありがとうございます。スレッドの皆様脱線してしまってすみません。
私はずっと競プロにばかりhaskellを使っています。