Size: a a a

Programming Offtop

2020 March 27

λ

λоλторт in Programming Offtop
а йоптыть
источник

λ

λоλторт in Programming Offtop
set -> set это не стрелка из категории множеств в категорию множеств, а функция над множеством?
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
О трёх -- конструкторы типов, селф-типы и собственно хкт.
Просто чтобы обсуждать хкт, надо пример. Какой дали, такой и обсуждали
источник

AN

Alexander Nozik in Programming Offtop
λоλторт
set -> set это не стрелка из категории множеств в категорию множеств, а функция над множеством?
Это диспетчеризация по типу контейнера
источник

λ

λоλторт in Programming Offtop
Andrew Mikhaylov
О трёх -- конструкторы типов, селф-типы и собственно хкт.
Нет, вы там обсуждали имплиситы и хкт, всё остальное это вообще непонятно что. Какие-то нанофичи
источник

λ

λоλторт in Programming Offtop
Alexander Nozik
Это диспетчеризация по типу контейнера
но хкт это не про диспетчеризацию
источник

AN

Alexander Nozik in Programming Offtop
λоλторт
но хкт это не про диспетчеризацию
Сейчас вы скажете про ad hoc полиморфизм, угадал?
источник

BP

Bogdan Panchenko in Programming Offtop
Andrew Mikhaylov
Это просто тут Миши щас нет, он бы за сиквенсы пояснил)))
И при этом использует стримы на малых колекциях массивах
источник

AM

Andrew Mikhaylov in Programming Offtop
λоλторт
Нет, вы там обсуждали имплиситы и хкт, всё остальное это вообще непонятно что. Какие-то нанофичи
Без этих "нанофичей" оно работать не будет, а их в котлине тоже нет.
источник

λ

λоλторт in Programming Offtop
это про возможность выразить что-то подобное
interface Functor<F> {
 fn map<A, B>(A -> B, F<A>) -> F<B>
}
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Без этих "нанофичей" оно работать не будет, а их в котлине тоже нет.
Во
источник

BP

Bogdan Panchenko in Programming Offtop
Vladimir Petrakovich
А что тут пояснять - Iterable : Sequence
Нет, смквенс просто отдает итератор
источник

AM

Andrew Mikhaylov in Programming Offtop
Bogdan Panchenko
Нет, смквенс просто отдает итератор
Читай хотя бы на пять сообщений вперёд, прежде чем отвечать, договорились?)
источник

λ

λоλторт in Programming Offtop
в дотнете без hkt в принципе контейнерную библиотеку нормально не сделать

вернее нормально с точки зрения более позднего фп подхода.

пока фп претензий не было, не-хкт иерархией интерфейсов вполне можно было пользоваться меняя что-то на месте. т.е. мы через интерфейс ICollection или IList что-то теребим в коллекции, а ссылка -то вот она, того же типа осталась.
потом начались линкострадания и сишарп сразу уперся в ограничения дженериков, потому что теперь то надо результат возвращать. а линковые функции в основном возвращают IEnumerable, стирая статическую информацию о типе коллекции.

ее только динамически можно попробовать кастануть, что внутри линк-ту-обджектс методов обычно и делают, чтоб как-то воспользоваться дополнительной информацией о коллекции для более быстрой работы с ней.

т.е. досвидания статика, привет динамический глюкодром

если надо что-то возращать, а не изменять на месте -  дженерики без хкт уже не катят, все фп потуги в языке без хкт или похожего инструментария ничем хорошим не закончатся.

т.е. любая контейнераная библиотека с иерархией контейнерных интерфейсов будет костыльной, можно нормально сделать только контейнерную библиотеку с конкретным типом итератора/списка, либо сверточную, типоа пакета foldl или явовых стримов, но это довольно ограниченные, маломощные и устаревшие подходы
источник

AN

Alexander Nozik in Programming Offtop
λоλторт
это про возможность выразить что-то подобное
interface Functor<F> {
 fn map<A, B>(A -> B, F<A>) -> F<B>
}
Почитайте ещё раз наше с Егором обсуждение и скажите, откуда берется конструктор F
источник

λ

λоλторт in Programming Offtop
Alexander Nozik
Почитайте ещё раз наше с Егором обсуждение и скажите, откуда берется конструктор F
F это параметр типа. Конкретный инстанс этого интерфейса уже будет фиксированного типа с фиксированным контейнером.
источник

AN

Alexander Nozik in Programming Offtop
λоλторт
в дотнете без hkt в принципе контейнерную библиотеку нормально не сделать

вернее нормально с точки зрения более позднего фп подхода.

пока фп претензий не было, не-хкт иерархией интерфейсов вполне можно было пользоваться меняя что-то на месте. т.е. мы через интерфейс ICollection или IList что-то теребим в коллекции, а ссылка -то вот она, того же типа осталась.
потом начались линкострадания и сишарп сразу уперся в ограничения дженериков, потому что теперь то надо результат возвращать. а линковые функции в основном возвращают IEnumerable, стирая статическую информацию о типе коллекции.

ее только динамически можно попробовать кастануть, что внутри линк-ту-обджектс методов обычно и делают, чтоб как-то воспользоваться дополнительной информацией о коллекции для более быстрой работы с ней.

т.е. досвидания статика, привет динамический глюкодром

если надо что-то возращать, а не изменять на месте -  дженерики без хкт уже не катят, все фп потуги в языке без хкт или похожего инструментария ничем хорошим не закончатся.

т.е. любая контейнераная библиотека с иерархией контейнерных интерфейсов будет костыльной, можно нормально сделать только контейнерную библиотеку с конкретным типом итератора/списка, либо сверточную, типоа пакета foldl или явовых стримов, но это довольно ограниченные, маломощные и устаревшие подходы
Тут это уже было. Мне кажется довольно много спорных утверждений. Я в дот нет не работал. Но жава так же работает.
источник

VP

Vladimir Petrakovich in Programming Offtop
Bogdan Panchenko
Нет, смквенс просто отдает итератор
Я про то, как оно должно быть по логике, а не как сейчас. Iterable тоже отдаёт итератор, да ещё и без ограничений по количеству.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Тут это уже было. Мне кажется довольно много спорных утверждений. Я в дот нет не работал. Но жава так же работает.
Да нет там спорных утверждений, ровно это у людей в чате и болит.
источник

AN

Alexander Nozik in Programming Offtop
λоλторт
F это параметр типа. Конкретный инстанс этого интерфейса уже будет фиксированного типа с фиксированным контейнером.
Я не тупой, чтобы тутошние жители не считали. Как создать инстанс?
источник