基本的な問題があります。if .. then の後に複数の関数を使用できないのはなぜですか?
check [] _ _ = []
check (x:xs) limit counter = if (x> head xs && counter < limit)
then incr counter -- I want here add another action
else if ( x < head xs )
then check xs limit counter
else incr x
main = do
print $ check [4,3,5,6] 1 0
--- The answer I aim is : [3,4,5,6]
チェックの目的は、各要素が次の要素よりも大きいかどうかを調べることです。そうであれば、カウンターを増やして、場所を入れ替えるなどの別のアクションを実行します。このアクションには制限があります。ここでは 1 回だけです。 1回だけそのアクションを実行できることを意味します。