Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Linker Unsafe
GIF
Как из простых математических конструкций путём композиции получается красота. Люблю такое.
Если кто забыл, for loops делают невозможным отделение итерирования по структуре данных от её обработки. Но Роб Пайк уверен, что вы не должны хотеть такое :-)
Forwarded from Блог*
#prog #go #menacingopensource

Для Go есть пакет filter. Это реализация некоторых FP-like примитивов, написанных самим Робом Пайком. Как он сам пишет в README:

"I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn't hard.

Having written it a couple of years ago, I haven't had occasion to use it once. Instead, I just use "for" loops.

You shouldn't use it either."

Внутри есть всё то, что мы так любим в Go: interface{}, рефлексия, отсутствие ленивости, захардкоженность слайсов. Но, конечно, вишенка на торте — это единственный PR, который так и не был смержен, и реакция Пайка на него.

github.com/robpike/filter
This media is not supported in your browser
VIEW IN TELEGRAM
Законтрибьютил в indicatif, теперь можно делать ещё более изощерённые прогрессбары.
https://github.com/mitsuhiko/indicatif/pull/178
Точнее, можно будет, когда (если) примут.
Что думает опытный человек, но попробовавший раст впервые на одном контесте:
============================
Pavel:

как и многие, я начал изучать го во время контеста.

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

вдохновившись, я решил заодно изучить раст и переписать утилиту и на него. и началось! куча unwrap'ов, куча преобразований типов, лесенки из Option'ов, непонятные заимствования по ссылке... в итоге код скомпилировался и работал. но он был ужасен. и никакой линтер не подсказывает как именно улучшить код. но я же понимаю, что его можно улучшить.

потом действительно удалось его отрефакторить и сильно упростить. убрал все unwrap'ы, преобразования типов, лесенки из Option'ов, и даже заимствования вдруг стали понятными. код теперь не сложнее кода на го.

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

но простота го все равно подкупает. в нем, кажется, довольно тяжело говнокодить, а вот в расте — легко.
Не, ну каково а, "легко говнокодить на расте" 🤯
Как-то однажды знаменитый учитель Кх Ан вышел на прогулку с учеником Антоном. Надеясь разговорить учителя, Антон спросил: "Учитель, слыхал я, что объекты — очень хорошая штука — правда ли это?" Кх Ан посмотрел на ученика с жалостью в глазах и ответил: "Глупый ученик! Объекты — всего лишь замыкания для бедных."

Пристыженный Антон простился с учителем и вернулся в свою комнату, горя желанием как можно скорее изучить замыкания. Он внимательно прочитал все статьи из серии "Lambda: The Ultimate", и родственные им статьи, и написал небольшой интерпретатор Scheme с объектно-ориентированной системой, основанной на замыканиях. Он многому научился, и с нетерпением ждал случая сообщить учителю о своих успехах.

Во время следующей прогулки с Кх Аном, Антон, пытаясь произвести хорошее впечатление, сказал: "Учитель, я прилежно изучил этот вопрос, и понимаю теперь, что объекты — воистину замыкания для бедных." Кх Ан в ответ ударил Антона палкой и воскликнул: "Когда же ты чему-то научишься? Замыкания — это объекты для бедных!" В эту секунду Антон обрел просветление.

via https://ru-lambda.livejournal.com/27669.html
Forwarded from Roman
Offtopic: Прячу пароль пользователя в логах
RegistrationInfo { email: "r", nickname: "a", password: "🤷" }
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from hirrolot
This media is not supported in your browser
VIEW IN TELEGRAM
ДэдФуд хорошо пишет:

Тайпклассы вообще много чего решают. Не только expression problem, но и, например, множественную диспетчеризацию. Прикольно наблюдать за некоторыми дискуссиями на хабре о том, кто в ООП-мире в игре должен управлять взаимодействием меча и моба — ответственность ли это меча, моба или менеджера боёв. В ФП-мире ты просто пишешь тайпкласс.

via https://habr.com/ru/post/505928/
psy667> Является ли Observable из rxjs монадой?

mayorovp> Да. А что, есть какие-то сомнения?
Более того, это аж сразу три разные монады (в роли bind могут выступать операторы switchMap, mergeMap и concatMap).

Не сразу это понятно, но вообще это замечательно. Хотя в отсутсвии do-нотации в js от этого пользы мало.
😱 "Много тестов не бывает"
Forwarded from Αλεχ Zhukovsky
Вот один такой тестик, например