User loginNavigation |
archivesConstant Values as TypesThis is probably one of those naive I should first finish the Pierce book kind of questions, but here goes anyway: Are there languages where a constant value, such as 42, can act is its own type? So putting this in real-world terms, in the Cat language I can write the following function with a type annotation: define the_answer : ()->(int) { 42 } However, it seems that I am being too general by saying it returns an int in the type annotation because it always returns 42 (edit: which we could say is a subtype of int). So ... shouldn't the type annotation be: define the_answer : ()->(42) { 42 } So the more general question is: what is good / bad about this? |
Browse archivesActive forum topics |
Recent comments
4 hours 53 min ago
5 hours 25 min ago
5 hours 29 min ago
3 days 13 hours ago
3 days 15 hours ago
18 weeks 1 day ago
18 weeks 1 day ago
18 weeks 1 day ago
24 weeks 1 day ago
1 year 12 weeks ago