私は次のものを持っています:
data Alpha a = Beta a [Alpha a]
val = Beta 1 [Beta 2 [], Beta 5 [Beta 7 []]]
AlphaInt型のvalを移動して合計する関数を定義しようとしています。私の望ましいアプローチは、すべてのIntを抽出してから結果のリストを合計することですが、再帰をどうするかわからないため、すべてのIntを抽出するのに苦労しています...
ちょっとした試み:
checkAlpha :: Alpha Int -> [Int]
checkAlpha (Beta a []) = [a]
checkAlpha (Beta a b) = [a] ++ (map checkAlpha b)
明らかにこれは完全には機能しませんが、解決策が見えません。