假設我有這樣的數據類型: data SomeDataType a = SomeDataType a
我想表明其對用戶(在控制檯輸出)表示,所以我需要一個「漂亮打印」功能。我不想使用show,因爲它會返回一個表達式,我只想將我的類型唯一字段的值轉換爲字符串。 我希望這個行爲: >>> let myintdata = SomeDataType (22::Int)
>>> putStrLn $ p
是否有任何常用的方法,甚至是用於使用分配關聯性和優先級的(二元)運算符打印(和解析)語法樹的庫結果儘可能少地使用括號? 取命題演算式爲例: data Formula
= Atom String
| Not (Formula)
| And (Formula) (Formula)
| Or (Formula) (Formula)
| Imp (Form