これが私の Stack タイプを定義した方法です。もっと良い方法があるかもしれませんが、今のところこれに固執しましょう。
data Stack' v = Stack' [v] Int の導出 (表示)
したがって、プッシュのようなものは次のようになります
push' :: (Ord v) => Stack' v -> v -> Stack' v
push' (Stack' l m) a = if m <= length l then Stack' l m else Stack' (l ++ [a]) m
しかし、これにはファンクターを定義できません。私のこの試みは、「パターンの解析エラー: v」と言って失敗しています
instance Functor Stack' where
fmap f (v l) = (map f v) (l)
誰かがファンクターの定義を手伝ってくれますか?