|
|
|
|
|
by armchairhacker
1774 days ago
|
|
No, Haskell is weird since a string is [Char]. If it was it’s own value, yes. The languages i’ve written are pretty basic. e.g. the data types might be - Number
- String
- True, false, null
- Array of values
- Record of fields (key + value)
- Variant of options (key + value) So the distinction is clearer. |
|
I can think of various langages where string is not a built-in, but i can’t think of a langage where string is not some sort of sequence, not just in its implementation but in its interface.
The definition also breaks down quickly e.g. is a complex a primitive? If not because they have real and imaginary parts, why are floats which have a mantissa and an exponent? And what about functions? What even is a child? Are value-less sum types primitives but valued ones not?
More importantly, how does it matter? What does the distinction you draw provide that is useful?