タグ

2016年2月15日のブックマーク (2件)

  • Bang Patternsについての訂正 @ 第一回 hs.hs 勉強会 - Qiita

    はじめに 2016/2/14 開催の hs.hs 勉強会で以下の発表をしてきました。 これから Haskell を書くにあたって さて、この内言語拡張の 1 つである Bang Patterns の説明について、誤りが発覚したため、ここで訂正も込みで再度説明しようと思います。 Bang Pattern とは 関数の引数を正格評価させるためにデザインされた言語拡張です。 使い方 特に難しい書き方や考え方が必要なわけではなく、LANGUAGE プラグマに Bang Pattern を記述し、関数の引数の直前に ! を付け加えるだけで適用できます。よく書かれる階乗計算を例にとってみましょう。 階乗計算から考える値の評価の仕方とスタック 何の変哲もない計算に見えます。しかし、気をつけなければならないことがあります。 引数の中身はパターンマッチが始まるまで評価されない 末尾再帰ではないので、このまま

    Bang Patternsについての訂正 @ 第一回 hs.hs 勉強会 - Qiita
  • これから Haskell を書くにあたって - Speaker Deck

    2016/2/14 開催の第一回 hs.hs 勉強会で用いたスライドです。 流れは以下の通りです。 1. はじめに 自己紹介や発表の目的について 2. GHC 7.8 からの変更点 GHC 7.8 の前後で起きたライブラリの変化と、その変化への対処法について 3. Haskell が遅いと言われるワケとか 遅延評価や各種データ構造の内部表現に起因する諸問題と、その対処法について 4. 知らないと損する言語拡張たち 型の表現力を高めたり、計算速度を向上させる種々の言語拡張について 5. FFI の話 Haskell での FFI の扱いと、身近なライブラリから見る実装例について(※一部抜粋) 6. おまけ(その他便利グッズの話) あるとコーディングがある程度便利になる言語拡張について 一部訂正あり: http://qiita.com/func-hs/items/51b314a2323b83

    これから Haskell を書くにあたって - Speaker Deck