タグ

Rubyとhaskellに関するyukimori_726のブックマーク (1)

  • パターンマッチの構文, Enumerable#lazy - Journal InTime(2012-03-09)

    _ パターンマッチの構文 pattern-matchというライブラリで赤黒木を実装してみてパターンマッチの便利さを改めて実感したが、やはり言語レベルのサポートがあった方がよいと感じたので構文を考えてみた。 既存の構文の互換性は維持する。 新しい予約語を追加しない。 という方針を立てて考えると、case式を拡張するのがよさそうだ。 Haskellのcase式を参考にしてみよう。Haskellでは赤黒木のbalanceを以下のように書くことができる。 balance :: RB a -> a -> RB a -> RB a balance left key right = case (left, key, right) of ((T R a x b), y, (T R c z d)) -> T R (T B a x b) y (T B c z d) ((T R (T R a x b) y c)

  • 1