2017-04-03 14 views
1

私はHaskellで次の問題を抱えています。タイプHaskellのZIPリスト

リストに番号を付けるためにリストと数字を圧縮しようとします。 つまりzip [1..] mylistです。

ただし、このタイプは[(Integer, [String])]です。

この場合、Integerの代わりにIntを得る方法はありますか?

答えて

6

リテラル1は、すなわち

1 :: Num a => a 

をオーバーロードされ、いずれかの状況に応じて、Integer又はIntあろう。したがって、タイプ[(Int, [String])]が必要なコンテキストでzip [1..] mylistを使用すると、これは機能します。

代わりにzip [1::Int..] mylistと書くことで、明示的にすることもできます。