FooArgの定義を

class FooArg a where
  foo :: a -> Int

に変えて、hugs -98でやったらロードはできました。
しかしfooの呼び出し方がわかりません。
fooにはタプルをわたすのですよね。

Main> foo (2,3)
ERROR - Unresolved overloading
*** Type       : (Num a, Num b, FooArg (b,a)) => Int
*** Expression : foo (2,3)

むむむ。

--shiro

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/