2016-04-22 10 views
2

スマートコンストラクタは、モジュール外でパターンマッチングする方法はありますか?スマートコンストラクタを使用したパターンマッチング

このような何か:thingThingのためのスマートコンストラクタです

fn (Thing 3) = True 

:これを書くことができず

import MyModule (thing) 

fn (thing 3) = True 

+1

可能な複製(http://stackoverflow.com:

extract :: Thing -> Int extract (Thing x) = x 

view patterns拡張子を使用してください/ questions/33722381/pattern-matching-on-a-private-data-constructor) –

答えて

7

MyModuleでこれを定義し、それをエクスポートします[プライベートデータコンストラクタに一致するパターン]の

{-# LANGUAGE ViewPatterns #-} 

fn :: Thing -> Bool 
fn (extract -> 3) = True 
関連する問題