Size: a a a

Programming Offtop

2020 May 16

I

Igor in Programming Offtop
Mikhail Levchenko
т.е. получается что если подмножество функций в модуле совпадают по сигнатуре с твоими ожиданиями – всё ок?
да, и еще это на типы распространяется (тк их тоже можно объявлять в сигнутурах модулей)

и в окамле вроде как нет приватных функций, по этому "сокрытие" делается через явную декларацию сигнатуры
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
А в чем разница между ocaml и typescript?
Я просто в тайпкскриптом почти не работал
Вот и обсудили)
источник

I

Igor in Programming Offtop
ну я помню по докладам - что в ts это плохо, только я вот сейчас задумался а почему
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
да, и еще это на типы распространяется (тк их тоже можно объявлять в сигнутурах модулей)

и в окамле вроде как нет приватных функций, по этому "сокрытие" делается через явную декларацию сигнатуры
Не совсем понял, как явная декларация сигнатуры помогает с сокрытием
источник

I

Igor in Programming Offtop
Andrew Mikhaylov
Не совсем понял, как явная декларация сигнатуры помогает с сокрытием
https://i.gyazo.com/cde0cc2fb75d12473b2fed757f745475.png

Ну смотри в модуле PersitentStore по факту 2 функции (restore и init)
А снаружи видно только одну init, тк при создание модуля явно описал его сигнатуру.

А если бы я не написал (как допустим в f#, где такого вроде нет) - то в сигнатуру попало бы все что там есть.
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
https://i.gyazo.com/cde0cc2fb75d12473b2fed757f745475.png

Ну смотри в модуле PersitentStore по факту 2 функции (restore и init)
А снаружи видно только одну init, тк при создание модуля явно описал его сигнатуру.

А если бы я не написал (как допустим в f#, где такого вроде нет) - то в сигнатуру попало бы все что там есть.
А, сигнатуры модуля, а не функции, понял
источник

I

Igor in Programming Offtop
Кстати чем дальше смотрю, тем больше kotlin object - напоминаю модули
Они как набор стат. функций, но могут реализовывать интерфейсы и передаваться как параметры
источник

I

Igor in Programming Offtop
А кто скажет, где она в котлине применяется?
источник

(

( in Programming Offtop
Igor
А в чем разница между ocaml и typescript?
Я просто в тайпкскриптом почти не работал
я хз, как в окамле, в тс-е вот так:
function jeppa<T : { kek: String }>(t: T) {}
и вот в жёппу можно передать что угодно, у чего есть описанное поле
источник

I

Igor in Programming Offtop
(
я хз, как в окамле, в тс-е вот так:
function jeppa<T : { kek: String }>(t: T) {}
и вот в жёппу можно передать что угодно, у чего есть описанное поле
а какие тут минусы?
источник

(

( in Programming Offtop
Igor
а какие тут минусы?
Главным образом то, что можно передать какую-нибудь левую хуйню, которую сюда передавать не стоило
источник

(

( in Programming Offtop
Банальный пример - есть куча рекордов с айдишками и совать их во всякие функции, которые требуют айдишки, впринцопе норм, но есть один рекорд, у которого тоже есть айдишка, но не та
источник

ML

Mikhail Levchenko in Programming Offtop
(
Банальный пример - есть куча рекордов с айдишками и совать их во всякие функции, которые требуют айдишки, впринцопе норм, но есть один рекорд, у которого тоже есть айдишка, но не та
А в чём проблема?
источник

ML

Mikhail Levchenko in Programming Offtop
Мне нравится идея, что record - это map с заданными именами и типами
источник

ML

Mikhail Levchenko in Programming Offtop
круто типизировать подмножество этой map
источник

ML

Mikhail Levchenko in Programming Offtop
и выводить коллективные ограничения
источник

(

( in Programming Offtop
Mikhail Levchenko
А в чём проблема?
Например, это айдентити не объекта, а какого-то другого объекта, которое лежит в этом
источник

(

( in Programming Offtop
Пример хоть и притянут за уши, но тем не менее
источник

ML

Mikhail Levchenko in Programming Offtop
типа, есть функции foo({a: Int, b: String}), bar({c: Int, d: Long}) и если переменная используется в обоих, то её тип минимум {a: Int, b: String, c: Int, d: Long}
источник

ML

Mikhail Levchenko in Programming Offtop
это частый пример, почему людям хочется множественного наследования
источник