haskell-jp / random #32

@noolbar has joined the channel
@kagilinn has joined the channel
@igarashi.kouki has joined the channel
@irxnjhtchlnrw has joined the channel
Redditにも投稿しましたがこちらにも。弊社IIJ-IIでは、2019年 夏のインターンとして、Haskell向けのライブラリー開発に協力していただける方を募集しています!
https://www.iij-ii.co.jp/career/internship.html
純粋なHaskell実装である多倍長整数(Integer)の高速化

これはinteger-simpleのことですか?
https://github.com/ch1bo/ghc-proposals/blob/patch-1/proposals/0000-integer-openssl.rst でinteger-simpleより速いBSDライセンスのライブラリの話が出ています。
これはinteger-simpleのことですか?
そうです。ちょっとkazuさんに相談してみます。survey不足で済みません。。。
@pontyan12 has joined the channel
@idkphys.030zzz has joined the channel
脱スタn日目: cabal new-benchでコマンドライン引数を渡す方法がないことに気づきました。直接実行すればいいとはいえこれはつらい…
new-run bench:名前 — 引数で行けませんか
なるほど!できました、ありがとうございます
@chakaji2002 has joined the channel
Slack Events API で general への join に反応して「質問は questions へ」とか主だったchannelへの誘導を Only visible to [joinした人] で表示するのてできますかね?
出来るとは思いますが、そこまでやらなくても、デフォルトではいるチャンネルに questions を加えて、そろそろ general で質問OKルールを廃止するのでどうでしょうか。。。 :bow:
チュートリアルをカスタマイズできればいいのにね
さらにきつく縛りを入れるなら、 general で発言できる人をAdmin権限を持つ人だけ(現状私だけ)にすることもできます。
generalという大きすぎるカテゴライズが問題なのではとも
slackさん……
general発言をAdminオンリーにしてもよさそう
そう、実質 random = general という見解でいいんですよね?
ここのローカルルールではそういう意味でいいかと思います。
取り急ぎ questions をdefault channelに加えました。 random と同様で、好きに leaveすることはできるはず。
@irissetosa976 has joined the channel
dhallでHaskellの let default = {foo = 10, bar = 20} in [default { bar = 30 }, default {foo = 40}] みたいなのするために let def = { foo = 10, bar = 20} in let default = \(x : {foo: Natural, bar: Natural}) -> def // x in [default { bar = 30 }, default { foo = 40 }] してみたけど、これ { bar = 30 } : { foo: Natural, bar: Natural } じゃないから通らないな……( { foo = 40 } についても同様)
改行w

それ default 関数に定義し直す意味あるんですか?
もちろんdefaultじゃなくてもいいんですが、こんなmakeFooが作りたかったんですよね
makeFoo = ... -> \(x : 🤔) -> {..., baz = def // x}
ラムダ式でラップせずに素直に // を使えば良くない?という意味です
それだと...の部分を各項で全て手書きする必要があって、makeFooとしてまとめられない感があります……
(結局defの部分を除いたmakeFoo作ったけど)
別に x {y = z} イディオムに固執しているわけではなく、 s <: t => (x : t) // (y :: s) な制約が欲しい
... が何を想定してるかわからないけど、うえのユースケースなら def を外部に出して makeFoo を定義しないのが Dhall のやり方では?
subtyping が入ることはなさそう
はい、結局そうしました
この記事MonadIOやめろって感じなんですけど、どうなんですかね実際のところ https://chrispenner.ca/posts/monadio-considered-harmful
悲しみ……
Monad*系のクラスはモナド変換子の数に比例したインスタンスの作成コストがあり、記事の主張は全く理にかなっていないです。実際MonadIOはそのような型クラスの中でももっとも有用なものだと思います
IOモナドは何でも出来すぎるからダメ、という割と昔から言われてたことじゃないですかね冒頭読んだだけですけど
IOがモナドで制御できるだけで十分であり、それ以上の細かい制御が必要かどうかは場合によるが大抵は必要がない、そういった感じなんですかね
けっきょくこれって極端な話haskellのプログラムの中からmain関数を無くせっていうはなしになりますよね? っていうのは半分冗談なんですが、言い方ですよね。 濫用を避けましょうっていう話なら賛成なんですが、、、(Monad)IOをやめろっていうのはどうかなと。。。
@wakaka2277 has joined the channel
@t-era has joined the channel
lyrical.magical.techn
@lyrical.magical.techn has joined the channel
ただのmemeじゃないかなあ。。。「xxxxxx considered harmful」って
cabal new-installしようとすると、symlinkdirが未定義ですとか言れて、 symlinkbindir=.local/bin とか渡すと、windowsではシンボリックリンク機能は無効です とだけ言れるのはなんとかしたい。実体は~というディレクトリにあります くらいは書いてほしい。。。 というかWindows早く一般でもシンボリックリンク使えるようにしてください(切実)
Vista以降にはシンボリックリンクあったりします。*nix系のそれと動作が完全に等しいかは不明ですが、cabalが対応してないだけな気はします:シンボリックリンクの作成と削除 (Windows Tips) - https://www.ipentec.com/document/windows-create-symbolic-link
あるにはあるんですよ でも、アドミン権限ないと使えないんです