ブックマーク / notogawa.hatenablog.com (2)

  • stackを通してのコンパイルにとても時間がかかる条件 - ぼくのぬまち 出張版

    ghc 7.10 からみられるようになった現象で,放置しているうちにやや旬を過ぎてしまっている感もある話題なのだが,その後特に改善してるわけでもないのと最近踏まれたのを見たので念のために記しておこうかなと. コンパイル時間ghc-7.8で1分40秒なやつがghc-7.10で6分かかるようになってて助けてクーガー兄貴— Noriyuki OHKAWA (@notogawa) October 31, 2015 結論から言うと,一定レベル以上の最適化付きで,大きな型レベル計算を含んだ型を持つインターフェースを含む場合…となる.このときコンパイルが遅い.厳密には遅いのはコンパイルではないが. 上記ツイートで問題にしてたJinja2サブセットのテンプレートエンジンであるhaijiは,hackageに上げる前のPoC段階で記事にもした. notogawa.hatenablog.com なのでここでは概

    stackを通してのコンパイルにとても時間がかかる条件 - ぼくのぬまち 出張版
  • 問題を解決するつもりでキッチリ型を付けた先にある高い壁 - ぼくのぬまち 出張版

    null安全おじさんになりかわりそれがしがお見せつかまつる 機械が理解できる複雑な契約の型表現がもたらすものは つまるところこのようなもの ずぶぶ(切った腹から証明オブジェクトを引き摺り出す)— Noriyuki OHKAWA (@notogawa) 2016年11月18日 過ぎたるは猶及ばざるがごとし. 最近null安全?だかの話のからみで,(静的な)型で契約云々を表現してシアワセになれるんだぜーと言うのをチラホラ見聞きする.たとえば,pythonで統計なり機械学習なりやっててnumpy弄るような人が,ndarray(多次元配列)のshape(多次元配列の形)が合わずエラーで落ちたりとかそういうアレについて云々という.なるほど型があれば実行前に止めることができ,実行時,エラー*1になってファーみたいなことは避けられるだろう. しかし,これが天国へ続く道かどうかはまた別の話.(依存)型で舗

    問題を解決するつもりでキッチリ型を付けた先にある高い壁 - ぼくのぬまち 出張版
    yuuki5555
    yuuki5555 2016/12/23
  • 1