haskell-jp / random #3

@niiyz has joined the channel
@ueda has joined the channel
http://syocy.hatenablog.com/entry/a-tour-of-go-in-haskell

あとたぶん goroutine というのは軽量スレッドという言葉を言い換えたものだと思うのですが、 別の名前をつけることで言語固有のすごい機能として見せるのはうまい手だなと思いました。

goroutine は、おそらく co-routine のもじりです。goroutineは、昔は non pre-emptive (スケジューラが横取り不可能)だったので、自分でCPUタイムを譲る必要がありました。ただし、yield()する必要はなくて、入出力のAPIにこっそり隠れていたのがうまかったんだと思います。最近のgoのランタイムは進化していて、goroutineはpre-emptiveになったので、軽量スレッドと呼んでもよくなりました。間違っているかもしれませんが、僕の理解はこの通りです。
OCamlの並行フレームワーク(名前は忘れました)でも、(>>=)相当の関数の中に yield() が隠されていたはず。
Goにそのような経緯があるのは知らずに記事を書いてしまいました……。ご教示ありがとうございます。
記事を書いているときにコルーチンという語を完全に忘れていた。。
@reotaso has joined the channel
Congrats! ghc-proposalsで、takanoさんの BlockArguments proposal が acceptされました。
今後、GHCでの関数適用時に、演算子 $ やカッコなしで、直接、 docaseiflet\x -> などを記述できるようになります^^

https://github.com/ghc-proposals/ghc-proposals/pull/90#issuecomment-349511990
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0010-block-arguments.rst
今回はQiitaの記事に突発的に反応する形になったのでQiitaへの投稿になってしまったのですが、次のカレンダー記事はHaskell-jp blogに投稿するつもりで計画してます(汗 https://qiita.com/as_capabl/items/2031fe28e577e77dc269
@tetsuyama has joined the channel
しりとりは自分だったらこんな感じです. https://gist.github.com/notogawa/a7d14ee02ca80a5729fdcb9b6788fb0c
名詞以外とかオリジナルemojiも入れたらアルファベットでも結構いけちゃうもんですね。
:open_mouth: -> :haskell: -> :lambda: -> :apple: -> :ear: -> :ru: -> :us: -> :satisfied: -> :doughnut: -> :taxi: -> :inbox_tray: -> :yum: -> :memo: -> :orange_book: -> :kissing: -> :golf: -> :full_moon: -> :no_good:
アドカレ2日ぐらい空いてるなーと(まだ記事書けてないけど)その3の6日目を埋めたんですが、気付いたらその1〜3全部担当付きましたね
@maru10t has joined the channel
@syocy, 英語版のredditにリンクを勝手に貼っておきました。
コメント来ているようなので、よろしくどうぞ^^

https://pay.reddit.com/r/haskell/comments/7ilhb9/a_tour_of_go_in_haskell/
英語でコメントされるとちょっとビビりますね :slightly_smiling_face:
fantastic、nice、fun、ということで、まだまだコメントきているようです、、、:slightly_smiling_face:
とても嬉しいですが私の英語処理能力が足りなくてツライ!
宣伝なんですが、C# のパーサーコンビネーターライブラリーを attopersec を参考に CPS 変換してみた話を書いてあります
LINQ はモナド用構文だ!
http://klabgames.tech.blog.jp.klab.com/archives/20171210ac.html
PDF 版は無料です
私は英語がだめです。
なので、Chromeでページ丸ごと翻訳 + Google翻訳で文ごとに翻訳して読んでから、作文もGoogle翻訳頼みで全開です!
@tokoyax has joined the channel
@yossy52 has joined the channel
@hsjoihs has joined the channel
@shrynx has joined the channel
聞きたいことあります。全日本でhaskellを良く使ってる方が何人ぐらいいらしゃいいましか?
@rnons has joined the channel
(土日は)よく使う
@たけのこ has joined the channel
IOHKではHaskell開発者を募集しています。
https://iohk.io/careers/
主に募集しているのは
- Haskell developer
- DevOps
- Software Test Engineer
- Haskell Infrastructure Wrangler (これだけ特殊で、エディンバラにあるIOHKの研究室で働くことになります)
です。
私は直接Haskellの開発には携わっていないので開発環境、開発プロセスなど詳しいことはわかりませんが、会社の雰囲気とかお給料(社長に問い合わせます)に関しては答えられると思います。気軽に聞いてみてください!
おっ、HirotoさんもHaskellを書いていると勘違いして、日本人Haskellerもいる、ということをTwitterに書いてしまいましたが、もしかして間違いでしたか!
残念ながら僕はhaskell初心者でブロッチェーンの開発には携わってませんね。。!
なので来月からバルベトス 諸島にて開かれるIOHKのhaskell教育プログラムに参加します!
IOHKと日本の関わりに関しては以下のものが挙げられます
- 東京工業大学にて暗号通貨共同研究講座を開講しています
- ブロックチェーンの開発に<@U56MBRKR9> さんのDNSライブラリを利用しています
IOHK が作ってる Cardano、最近韓国の取引所に上場して価格が高騰したやつですよね
https://prtimes.jp/main/html/rd/p/000000006.000030305.html
採用されてるOuroboros PoS protocolってうまくいくことが証明されてるんでしたっけ…(気になってるけど読めてないorz)
GitHub のトレンドにあがってたやつだ
確かに12月初めからずっと上位にいますね github-trends
最初、sl って書いてあったから sl コマンドかと思ったけど、ぜんぜん違った
Settlement Layer みたいですねw
本体はまた別? :thinking_face:
それはOuroborosがCrypto17という暗号学の学会で正式に認められたことだと思います
https://iohk.io/blog/proof-of-stake-protocol-ouroboros-at-crypto-17/
Settlement Layerは決済のみが行えるブロックチェーンですね(ビットコインと同じ仕組み)。今後分散型アプリケーションを処理するチェーン(Computation Layer)を開発し、SLとCLがやり取りをすることで分散型アプリケーションが実行できるようになります。
なるほど!EthereumだとSLとCLは同じブロックチェーンだけど Cardano は分けてると考えていいんでしょうか?分けるメリットはトラフィックの分離とかですか?
EthereumだとSLとCLは同じブロックチェーンだけど Cardano は分けてると考えていいんでしょうか?
その考えで合っています。

分けるメリットはトラフィックの分離とかですか?
そうです。処理を分離することで負荷の分散し、スケーラビリティが実現できると考えています。(現在のブロックチェーンにはそれがない)
送金を行うSLが主鎖となり、それとやり取りが可能なCLなどの側鎖が複数あることでネットワークを形成しているとの認識です。
なるほど。 EthereumでもPlasmaを使ってスマートコントラクトをスケールさせようとしてるみたいですが、Cardanoは最初からスケールの問題も考えて設計されてるんですね!
IOHKは来年1月8日から3月2日の約2ヶ月間、Haskell及び暗号通貨の集中講義をバルベトス諸島で行います。(詳細はリンク先にて)優秀な応募者には奨学金も出るそうです。僕も参加します。興味ある方は是非!
https://iohk.recruiterbox.com/jobs/658adf4413b54402bccc39db36c9f8a8?utm_content=buffer587f4&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
Redditでも投稿させて頂きました。
スマホアプリで Reddit 見るとコード部分も改行が空白に変換されててつらい
Reddit, 公式よりもサードパーティーのアプリ使った方がよさげですね。
私はReddit is funというのを使っています。
そっちでは適切に改行されました。
:thinking_face: どっかにまとめがあったよな。。。
Data.ByteString.Internal とか Data.Array.Base とか、export されているんだけど、ドキュメントはわざと隠してあるモジュールがあります。「コンストラクタを利用できない」と諦める前に、ソースを読むことを勧めします。