如何在frege中使电源功能,双倍和[..]一起工作?

时间:2013-09-04 10:10:19

标签: frege

虽然

map (\x -> x * x) [0..9]

工作正常(也是列表理解),我做不到

map (** 2) [0..9]

因为电力运营商需要双打而且......运营商不允许这样做。

我可以使用一些映射吗?

1 个答案:

答案 0 :(得分:2)

原因是Double不是Enum的实例。

有两种可能性:

  1. 将Double设为Enum的实例。
  2. 使用将Int值转换为您需要的任何数字类型的函数:
  3. 例如:

    (map (** 2) . map fromInt) [0..9]
    

    或者,如果您愿意:

    map ((** 2) . fromInt) [0..9]