I understand that ..
can be used in ranges--i.e., [1..3] == [1,2,3]
, and [10..]
is an infinite list starting at 10.
However, recently I've started seeing these double dots inside brackets too. Either as (..)
or {..}
.
For example, an import statement can read
import Colog (HasLog (..))
My first intuition here is to think that this means that HasLog has several components and we are explicitly importing all of them. But how does that differ from simply importing HasLog, without the (..)
?
Further, how does (..)
differ from {..}
?