昨日のRHGでCleanの(o)を関数として定義するとどなるかと言う話題
でやってみたんですが。
モジュールトップレベルで定義すると、多重定義エラーになりました。
関数の中のwhere節で定義するとコンパイル通ります。
因みに(o)はStdFuncで以下のように定義されてます。
(o) infixr 9 // :: u:(.a -> .b) u:(.c -> .a) -> u:(.c -> .b) // Function composition
(o) f g :== \ x -> f (g x)