Non conosco tutti i linguaggi di programmazione, ma è chiaro che solitamente la possibilità di sovraccaricare un metodo prendendo in considerazione il suo tipo di ritorno (assumendo che gli argomenti siano lo stesso numero e tipo) non è supportata.
Intendo qualcosa del genere:
int method1 (int num)
{
}
long method1 (int num)
{
}
Non è che sia un grosso problema per la programmazione, ma in alcune occasioni l'avrei gradito.
Ovviamente non ci sarebbe alcun modo per quei linguaggi di supportarlo senza un modo per differenziare quale metodo viene chiamato, ma la sintassi per quella può essere semplice come qualcosa come [int] metodo1 (num) o [lungo] metodo1 (Num) in questo modo il compilatore saprebbe quale sarebbe quello che verrebbe chiamato.
Non so come funzionano i compilatori ma non sembra così difficile da fare, quindi mi chiedo perché una cosa del genere non venga solitamente implementata.
Quali sono i motivi per cui qualcosa del genere non è supportato?