Profile cover photo
Profile photo
Masahiro Sakai
805 followers
805 followers
About
Posts

Post has attachment
明日4/26(木)発売の WEB+DB PRESS総集編[Vol.1~102]の記念エッセイ「記憶に刻む、あのコード」にチャーチ数の話を書きました。 他の方のエッセイも無茶苦茶面白いので、もし良かったらご覧ください!
(+Shiro Kawai さん、秋葉さん、RKX1209さんなども書いてます)

http://gihyo.jp/book/2018/978-4-7741-9686-2

#ns
Add a comment...

Post has attachment
Async exception handling in Haskell
https://www.snoyman.com/reveal/async-exception-handling
https://www.fpcomplete.com/blog/how-to-handle-asynchronous-exceptions-in-haskell

非同期例外のツライ話だけれど、こういう話は大好物😋
#Haskell はこの辺りかなり真面目に考えている方だと思うけれど、それでもやはり正しく書くのは難しいね。

個人的には uninterruptibleMask をあまり使ったことがなかったけれど、 mask と uninterruptibleMask のどちらを使うべきかはちゃんと考えないといけなさそう。

あと、ちょうど unsafeDupablePerformIO の中で bracket とかを使ってはいけないというのはどういうことか気になっていたので、それに関する話 https://ghc.haskell.org/trac/ghc/ticket/8502 が言及されていたのがタイムリーだった。
Add a comment...

Post has attachment
今日の #PokemonGo のコミュニテイデイ、一応色違いのメリープと「りゅうのはどう」持ちのデンリュウをゲット。 色違いはもう二匹欲しかったなぁ。
Photo
Photo
2018/04/15
2 Photos - View album
Add a comment...

Post has attachment
Google Code Jam、Cubic UFO は解けなかったが、一応他は正解してた。 幾何問題は苦手…… #codejam #gcj
https://codejam.withgoogle.com/2018/challenges/00000000000000cb/dashboard
Add a comment...

Post has attachment
こないだ受験したTOEICの結果が出てて、960点(リスニング490点、リーディング470点)と、前回2016年の925点 (リスニング465点、リーディング460点)よりも上っていた。 会社の補助で受講してたBerlitzのグループレッスンのおかげかも(?)
Photo
Add a comment...

Post has attachment
Google Code Jam は今回から実行環境がサーバ側になったので Practice Session で環境を確認してみたら、HaskellはGHC 8.0.1の標準添付ライブラリしか使えなさそう。codejamで使いそうな最小限のライブラリはカバー出来てはいるんだけど、微妙に不安が…… #codejam #gcj

・過去にはStateモナド等を時々使ってたれど、mtlが含まれていない。
・データ構造系はarrayとcontainersが含まれているので大体大丈夫ではあるのだけど、それだと優先度付きキューとかないし、(過去に使ったことはないけれど)vectorやunordered-containersも使えない。
・過去に乱択が必要な問題が出てたことがあったけれど、randomやmwc-randomといった乱数のライブラリがない。

https://codejam.withgoogle.com/2018/challenges/0000000000000130/dashboard
Add a comment...

R(5,5)≤48 https://arxiv.org/abs/1703.08768 ラムゼー数R(5,5)の上界の更新。計算的な側面と巧妙な証明の側面の両方があって面白い。

ただ、 F ∈ R(5, 5, 48) を仮定したときの各頂点の次数は23か24と言っているけれど、23の場合は簡単に除外できて証明が少し単純になりそうな……
ある頂点vの次数が23だと、R(5, 4) = R(4, 5) = 25 なので、vから辺のない25頂点のサブグラフのなかに「サイズ5のクリーク」もしくは「サイズ4の独立集合」が存在。「サイズ5のクリーク」が存在する場合はもちろん F ∈ R(5, 5, 48) に矛盾するし、「サイズ4の独立集合」が存在する場合には、vからはその全てに対して辺が存在しないので、サイズ5の独立集合が存在してしまって、F ∈ R(5, 5, 48) に矛盾。

あと、Kの頂点数dが 0 ≤ d ≤ 5 の範囲ときを何故考えなくて良いのか、よくわからなかった……
Add a comment...

Post has attachment
高談闊論:双方向変換の原理と実践 https://www.jstage.jst.go.jp/article/jssst/31/2/31_2_44/_article/-char/ja/ Haskellのlensの名前の由来を(恥ずかしながら)知らなかったのだけれど、 双方向変換の研究から来ていたのか。 知らんかった。 言われてみればもっともな話だ。

----
その先駆けとなる仕事として,ペ ンシルベニア大の Benjamin Pierce のグループの開発した初めての双方向変換言語 lens があります.この成果は,まず 2004 年の PLAN-X [22] で発表され, その発展版が 2005 年の POPL [18] で発表されてい ます (その後,ジャーナル版がプログラミング言語分 野のトップレベルジャーナルの 1 つ TOPLAS [19] に 掲載された).
----
Add a comment...

Post has attachment
マルチノードでChainerMNを使う際にfork()で怒られてたのだけど、どこで使っているのか strace -f -e trace=process で調べると良いと教えてもらって、調べたらPlotReportで使われているmatplotlibがfc-listコマンドでフォントの一覧を取得していた。 mpi4py.MPIやchainermnよりも先にmatplotlib.font_managerをインポートすることで回避できた。

エラーメッセージ
----
A process has executed an operation involving a call to the
"fork()" system call to create a child process. Open MPI is currently
operating in a condition that could result in memory corruption or
other system errors; your job may hang, crash, or produce silent
data corruption. The use of fork() (or system() or other calls that
create child processes) is strongly discouraged.
----

fc-listを使っている箇所:
https://github.com/matplotlib/matplotlib/blob/v2.0.2/lib/matplotlib/font_manager.py#L284
Add a comment...

Post has attachment
今日の #PokemonGo のコミュニティ・デイ、とりあえずハードプラント持ちのフシギバナとフシギダネのshinyを二体ゲット。 shiny一体はフシギソウに進化させたけど、フシギバナのshinyも欲しかったので、もう一体捕まえたかったなぁ。
PhotoPhotoPhoto
2018/03/25
3 Photos - View album
Add a comment...
Wait while more posts are being loaded