タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Expression Problemに関するmnruのブックマーク (1)

  • 多相バリアントを使いこなそう(4) - osiire’s blog

    前回までで多相バリアントの基的な機能は説明してきました。そこで今回は、多相バリアントのとても重要な応用についてお話したいと思います。それは、場合分け構造の拡張問題です。 場合分け構造の拡張は難しい 例えば、次のようなコードがあったとします。 module Card = struct type t = Num of int | Jack | Queen | King let num = function Num i -> i | Jack -> 11 | Queen -> 12 | King -> 13 end Card.tには4種類の場合分けがあり、それらに対してnumという操作が定義されています。このような場合分け構造+操作に対して、 静的で安全に(キャストせず)、 元のコードを一切変更せず、 新しい場合分けを加え、 新しい操作も加えた 新しい場合分け構造を定義する にはどうすればいい

    多相バリアントを使いこなそう(4) - osiire’s blog
  • 1