LINUX.ORG.RU

История изменений

Исправление uin, (текущая версия) :

Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.

Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.

Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.

А на что тебе везде статический анализ?

function sum(a, b) {
   return a + b
}
def sum(a, b)
   return a + b
end

Вот ты функцию написал и складываешь через нее любые типы sum(1, 3.2) sum("крым", "наш") итд итп


func sayHello(name: String) {
    print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)

Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.

Исправление uin, :

Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.

Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.

Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.

А на что тебе везде статический анализ?

function sum(a, b) {
   return a + b
}
def sum(a, b)
   return a + b
end

Вот ты функцию написал и складываешь через нее любые типы sum(1, 3.2) sum(«крым», «наш») итд итп


func sayHello(name: String) {
    print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)

Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.

Исходная версия uin, :

Забавно это слышать от того, кто про ad-hoc полиморфизм узнал только из этого треда.

Даже из этого треда не узнал, я спросил как метод value определяет какое значение ему возвращать, мне написали пример из которого понятно что в него просто указатель на эту самую переменную падает, а дальше уже понятное дело можно от этого спокойно танцевать.
«Полиморфизм» согласно википедии это просто какое то широкое понятие означающее способность одной функции обрабатывать разные типы данных - вообще не про то.

Типизация может быть сколь угодно строгой, но если информация о типах доступна только в рантайме, то толку от неё на этапе статического анализа ноль целых хрен десятых.

А на что тебе везде статический анализ?

function sum(a, b) {
   return a + b
}
[br]def sum(a, b)[br]   return a + b[br]end

Вот ты функцию написал и складываешь через нее любые типы sum(1, 3.2) sum(«крым», «наш») итд итп


func sayHello(name: String) {
    print("Hello, \(name)!")
}
let name = CommandLine.arguments[1]
sayHello(name: name)

Вот какой тут смысл информации о типе?
И да - неймов мало, нужно больше неймов.