Y
Hacker News
new
|
ask
|
show
|
jobs
by
effn
5567 days ago
Overloading on return type is fundamentally impossible in dynamic languages, since they dispatch on values, and the return value can not be known before the function is called.
2 comments
bad_user
5566 days ago
Oh come on, all you need to do is to (OPTIONALLY) tag the function with the return type.
And it's still a dynamic type system ;)
link
shasta
5567 days ago
Well it's not
impossible
. You could run them all and then decide which result to use. :)
link
effn
5566 days ago
That doesn't work either, since then you will have more than one result. Which one will you dispatch on?
link
shasta
5566 days ago
Presumably, you'll have some rules that determine which is the best match and then error if it's ambiguous - just like the static case
link
And it's still a dynamic type system ;)