haskell-jp / random #38

@furu.furu.kk.204 has joined the channel
@ytk.nishimura has joined the channel
@sleepy.st818 has joined the channel
はじめまして。Haskellの勉強会を開こうかと思っているのですが、当Slackでは宣伝を流しても問題ありませんか?
ありがとうございます!
[1..10]は再帰関数の呼び出しに展開されるのに対して、`[1,2,3,...,10]`の方は`build (\c n -> c 1 (c 2 .... (c 10 n)...))`という感じのネストした関数呼び出しに展開されるのが良くないみたいですね。
@3bmnltlllpn has joined the channel
ふむぅ、 [1..10]は定数だから-O でコンパイルすると展開されちゃうんじゃないかな? ってことを期待したんですが その辺は賢いのね。。。
Windowsで非stack環境を作るなら、chocolateyでghcを入れるという手があるんですね。
私はまだ試してないんですけど、やってる人いるでしょうか。
Windowsだとghcupないし、Haskell Platformだとstack入っちゃうし、GHC公式のバイナリもいつの間にか消えてるし、ソースビルドしかないかと思ってた所だったので興味あり
https://chocolatey.org/packages/ghc
GHC公式のバイナリもいつの間にか消えてるし

えっ、 https://www.haskell.org/ghc/download_ghc_8_6_3.html にありますよ!
chocolateyのそれもバイナリをダウンロードするだけのはず...
すいません、見落としてたっぽいですorz
:point_up: のスレッドで回答する際に気づいたんですが、
https://www.haskell.org/ghc/download.html
このページ、「Current Stable Release」が8.6.2になってる(でもリンク先は8.6.3)...。 :cold_sweat:
どこに報告すればいいかどなたかご存知でしょうか?
僕も知りたいです。ghc trac では今の所反応ないです・・・。
https://ghc.haskell.org/trac/ghc/ticket/16280#ticket
twitter で @bgamari でいいと思います。
しておきました。
Benさんそんなにtweetはしてないみたいなんで心配ではありますが... https://twitter.com/igrep/status/1097705592733368325
そういえばユーザーガイドも latest が 8.6.2 なんですよね https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/
そうそう、それを指摘してるのが https://ghc.haskell.org/trac/ghc/ticket/16280#ticket なんだけど、反応がないようで... :disappointed:
ThreadScopeはAppVeyorでchocoを使ってGHCを入れています。 https://github.com/haskell/ThreadScope/blob/master/appveyor.yml
AppVeyor、無料でWin環境が使えるCIですね。バイナリ公開する予定なので参考にしたいです
categoriesパッケージのCartesianをインスタンス定義するためには、親クラスとして
PFunctor, QFunctor, Bifunctor, Associative, Monoidal, Braided, Symmetry, Cartesianを
全て定義する必要があり記述量が厳しい

しかしこれらは全てArrowから導出できるので、

import ArrowToCats (ArrowToCartesian) -- Cartesianと必要クラス全部定義

data MyArr a b = ...
  deriving (PFunctor, ..., Cartesian) via (ArrowToCartesian MyArr)

instance Category MyArr where ...
instance Arrow MyArr where ...


と書ければ素晴らしい。
http://hackage.haskell.org/package/categories
ところが、導出したいクラス群はderiving via対象外のMultiParamTypeClassesとなっており、上記は実際には書けない。

https://www.kosmikus.org/DerivingVia/deriving-via-paper.pdf の6.2章参照
結局、MultiParamTypeClassesの場合のDeriving Viaは極めて限られた場合だけがサポートされて、残りは今後の課題になってるっぽいんですが、その後の議論とかあるんだろうか。上のCartesianの問題はユースケースとしてありうるんじゃないかと思います。
https://haskell-jp.slack.com/archives/C5666B6BB/p1550661256027500 の質問に答えているうちに思ったんですが、
stack ghcstack runghc からの類推で stack haddock が使えないのって悩ましい仕様ですよね。。。あと stack ghci も。 :confused:
あれ、 stack ghci は使えませんか?
使えるんですが、実は挙動が違ってまして...。
適当なstack.yamlとcabalファイルが入ったプロジェクトディレクトリーで実行してみるとわかります。
勝手にロードされますよね。それはそういうものだと思えばまあ納得できるのですが。
あ、そういえば stack runghc もスクリプトに引数を渡せないという面倒な仕様だった!
オプションの渡し方が違う( stack ghc だけは唯一 stack exec ghc と同じような受け取り方をする)点とか、結構一貫性に欠けるし運が悪けりゃ誤解を招くなぁ、と。
@yasuhide.takase has joined the channel
@ponta027 has joined the channel
IIJ II では Haskell でこんなおしごとしてますよというちょっとした一例です https://twitter.com/IIJ_PR/status/1098441523178352640
ビジネスチャットダイレクト、初めて聞いた :sweat_smile:
@kafu.h1998 has joined the channel
ぼやきです。。。 
java/python/haskell/バイリンガル というスキルセットで求人を始めて半年、エージェントにも募集をかけてもほとんど応募なし。 なかなか難しいですね。
なんならここで募集しても特に問題はないですよ!
この条件 OR でなくて AND 結合ですよね。(きびしい。。。)
scala/ruby少し/haskellやってみたい/標準語と薩摩弁のバイリンガル なら。。。
みなさんありがとうございます。

バイリンガル条件を外すとちらほら来るのですが、他の職種の募集が埋まっていく段階で、全体で気づいたら日本語ネイティブが私だけになってしまったので、バイリンガルが外せなくなってしまいました。

Javaをフェードアウトさせてhaskell に移行させたいので、javaはそれほど必須でもないんです。。haskell書ける人は何でもできると思うので、そのあたりはあまり気にしていませんでした.
念のため確認ですが、バイリンガルってのは英語と日本語のってことですよね?
Pythonはどれだけ重要なんですか?
バイリンガル=日本語、英語です。日本語は会話・読み書き両方必須。英語は入社直後は初級で結構です。英会話スクール代も会社で負担します。 直属の上司が外国人になるので、長期的には英会話できたほうがよいです。

Pythonは、様々なデータのETLの細かいバッチがたくさんあるので、その開発・メンテを手伝っていただきたいです。その意味ではSQLも必要でした。。
Pythonの現行のバッチ処理のフレームワークの見直しもしたいのですがあまり壮大なことはしたくないので、アノテーションとかクラスとか自力で書けるレベルでOKです。
求職者視点ですが、エージェントはニッチ系の案件を扱いなれていない感があり、ジャンルによってはあまり有用ではない印象があります。私も今の Scala の仕事にはリファラルで入りました。Haskell というところを強くフィーチャーするのであれば、リファラルか、もしくは Functional Works のようなニッチ特化なジョブボードを利用するのが良いのかもしれません。
おそらく、GitLabの立ち上げに加えて、GHC8.8のalpha直前準備の最中で、回ってないタイミングなのだろうと思います:haskell:

https://gitlab.haskell.org/ghc/ghc/merge_requests
https://mail.haskell.org/pipermail/ghc-commits/2019-February/date.html
Tokyo Haskell Meetupがオーガナイザの後継を募集しているらしいですね。
https://gitter.im/tokyo-haskell-meetup/Lobby?source=orgpage Gitterもありますが、Haskellに関する具体的な話がほとんどないあたり、どういうコミュニティなのかは推して知るべしですね…
うち(Tsuru Capital)は英語とHaskellが条件ですが日本人(≒バイリンガル)の応募はほとんど皆無なので、それにJavaとPythonも加わるとかなり見つけるのは難しそうですね
一度参加したことがあります。英語でのもくもく会、といった雰囲気でした。
https://discourse.haskell.org/ Haskell向けのdiscourseのインスタンスが立ち上がったようです。メーリングリストの使用感を残しつつreddit的に扱えるプラットフォームといった感じです。IRCやメーリングリストはアクセシビリティが悪いので、いずれ置き換えてくれると嬉しいですね
なんかスキルセット見たら会社わかった気がする……
@thibodeau9 has joined the channel