steven
1
On Types as Sets · An Introduction to Elm it states that:
And if you define type Point = Point Float Float
then cardinality( Point
) is equivalent to cardinality( (Float, Float)
).
I understand this a point in 2D, but i don’t understand why it is not writting as type Point = Float Float ? Recursion?
There are two different namespaces here, so the same name can be used for two things. If that wasn’t allowed, we might write.
type PointType = PointConstructor Float Float
One is a type you use in type signatures. The other is a function that creates instances of that that type.
You could do an alias without the constructor:
type alias Point = (Float, Float)
But to have a true custom type with full type safety, you need a constructor.
1 Like
pdamoc
3
Elm custom types are tagged unions so, you need a tag.
steven
4
That is helpful,
so you need to set the constructor function explicitely with a type x = declaration/creation;
it is not derived from x
system
Closed
5
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.