Кабачок
тип без конструкторов законная жопа, а бесконечный цикл нет?
Oleg
почему все разучились читать гугель?
Oleg
Hask - HaskellWiki https://wiki.haskell.org/Hask
Николай
теперь пора сказать своё мнение про лиспы
Вот умел бы GHCJS такой же быстрый хот-релоадинг без потери состояния, как это умеет Кложа со своими либами, цены бы ему не было. А пока что приходится использовать хаскелль как учебное пособие по ФП, а для реальной работы - что-то вроде Кложи, что очень печально 😢
Oleg
Никто тебе не виноват, что ты родился фронтендером
Aliester
Мама, почему я фронтэндер? Откуда Node.js в моей крови?
Николай
Деление на фронтэндеров и бэкэндеров, ИМХО, порочно, ибо не улучшает никак ситуацию. А вообще, я скорее фул стак девелопер. Раньше никогда не занимался фронтом.
Quet
хот релоад в кложе достаточно условный конечно
Quet
то есть он как бы есть, но чуть что все к херам ломается и ты 5 минут ждешь пока заново запускается repl
Oleg
Но вообще хот-релоадинг без какого-то а-ля ивентсорсинга это же как выдернуть картридж из денди и воткнуть другой без ресета. Какой уважающий себя типизированный язык на это пойдёт?
Quet
не писал на коммон лиспе я про figwheel сейчас (если мы за фронт)
Николай
хот релоад в кложе достаточно условный конечно
ClojureScript + Figwheel работают очень хорошо. Да, бывает, что надо делать релоад страницы, но редко. За одну сессию успеваю наверстать и налепить логику на целую страницу.
Oleg
Думаю несложно написать фреймворк, который будет поддерживать релоадинг при сохранении своего (и только) внутреннего состояния. Вон как тот хаскелёвый про 3D что-то
A64m
все лиспы ужасны
Anonymous
у кого-то не было прозрения
A64m
это оно и есть
Oleg
Возможно, это бесконечная диалектическая цепочка прозрений
Oleg
Где лиспы снуют туда-обратно из области прекрасного в область говна
Николай
все лиспы ужасны
Типов очень не хватает, да. Много в голове приходится держать. Но буст к продуктивности огромен на ряде задач типа разработка UI и все такое, во многом из-за воркфлоу "живого" программирования, без циклов компиляции-релодинга. Модерновые typesafe языки (scala, haskell) явно в этом отношении уступают.
Oleg
*Но только если ты - фронтенд
Anonymous
typed-racket довольно неплох, как и carp
A64m
да ничего хорошего в тайпрекетной системе типов нету
Николай
хз съехал с cljs на элм и какого хера не сделал это раньше..
И дважды писать слой предметной области для фронта и бэка? Не вариант, к сожалению.
A64m
помимо того, что нету нормальной системы типов нигде, еще и строгие (кроме пары поделок), нету нормальных выразительных средств типа тайпклассов и модулей, нету вообще никаких элементарных фп удобств - вот это самая боль, одна единственная имплементация, которая хоть вид делает что что-то оптимизирует, но все равно тормозная, с убогим рантаймом и тащит с собой "компилятор"
A64m
думаю, ужасы еще можно перечислять и перечислять
Quet
И дважды писать слой предметной области для фронта и бэка? Не вариант, к сожалению.
дважды типы описать? ага "не вариант" это когда про опечатку узнаешь только когда все упало
Николай
дважды типы описать? ага "не вариант" это когда про опечатку узнаешь только когда все упало
Ну да, многие структуры данных дважды придется описывать, на разных языках. Плюс два разных механизма сериализации. И причем в случае рассинхрона моделей данных все тоже скомпилируется, а упадет только в рантайме. По любому тесты надо делать.
Quet
да, только тут оно упасть может только на слое десериализации json, а в случае кложи+клжс где угодно
Николай
Это да ) в кложе больше тестов придется писать.
Misha
Мама, почему я фронтэндер? Откуда Node.js в моей крови?
Просто вид у тебя был немного безумный, вот и назвали Фронтославом, сынок
Aliester
При рождении зависимости долго компилировались
Anonymous
Кстати, если зашла речь о фронтенде, то http://fvisser.nl/clay/ очень крутой CSS-препроцессор. Верстается в нём субъективно приятнее, чем в elm-css. Никаких очень модных grid там конечно ещё конечно нет, но это нестандарт пока что.
Petrovich
проиграл
Petrovich
забавно придумали
Anonymous
https://github.com/wdanilo/LambdaCSS
Глянул в код. Серьёзно.
Сергей
Хотел выразить это линзами, но никак не получается: tuplift :: (a -> c -> x) -> (b -> d -> y) -> (a, b) -> (c, d) -> (x, y) tuplift f g (a, b) (c, d) = (f a c, g b d) Есть ли для этого подходящая абстракция ?
Artyom
это вроде что-то из Control.Arrow
Vladislav
Это biliftA2
Сергей
да, точно
Антон
Это biliftA2
Звучит как название технического узла в станке
Антон
Не. я, конечно, понимаю, что означает каждый фрагмент в имени, но общего впечатления это не меняет
Meowbe/BSD-2-Clause
в большинстве лиспов есть стандартная функция для парсинга s-exp
eval и read-from-string во всех хоть сколько-нибудь серьезных есть
A64m
https://twitter.com/GabrielG439/status/945687191212081152 т.е. не твить, потому что не о чем.
Leonid 🦇
Это он про чмырение гоферов
A64m
этот призыв у меня такую ненависть вызвал, меня аж трисет
Aliester
Какой-то лангнацизм
Aliester
One community, one language, one Snoyman.
Кабачок
Eine Gemeinschaft, eine Sprache, eine...
A64m
думаю, еще доживу до того времени, когда программисты будут убивать 5 миллионов людей в год, считать что так и надо и придумывать как с ними разговаривать, чтоб не один программист, не дай бог, не обиделся
Aliester
Не понял
A64m
чего не понял?
Vladislav
Как программисты убивают, наверное.
Vladislav
Therac-25 жи.
A64m
ну с течением времени все больше будет арсенал для убивания человеков. Автономный транспорт, медицинские и промышленные роботы, массовая нищета и ее последствия для продолжительности жизни
Vladislav
А чтобы такого не было надо законодательно эти области контролировать, чтобы код на Coq формально доказывался а-ля CompCert
Vladislav
И уголовная за JS
Vladislav
А за взятку аудиторы разрешат баш-скрипт.
A64m
да хотя-бы здоровая атмосфера в которой плохое называют плохим, и нормальным считается что программисту надо что-то изучать. А то вон сейчас ни в коем случае не обижать бедного программиста критикой и неприятием его антиинтеллектуализма, а то он будет куксится, плакать, топать ножками, махать кулачками
Vladislav
Я таких не видел.
Aliester
у нас инженеры убивают каждый день
Алексей
Разве это специфично для программистов? На загнивающем западе никого нельзя обижать
A64m
инженеры в 19 веке были такими же тупыми и нечитателями как программисты сейчас, но да, когда начали бодро убивать, как-то немного скорректировались
A64m
Разве это специфично для программистов? На загнивающем западе никого нельзя обижать
тут дело даже не в том, что нельзя обижать, а в том, что считается обидным. В случае программиста предполагается обидным то, что ему просто обязаны говорить, иначе ничего работать не будет
Aliester
Темная комната, на экране зеленые строки JS. За экраном неприятной наружности мужчина с неровной щетиной и толстыми очками. Он что-то бормочет и напряженно набивает код. Вдруг слышится скрежет и громкий хлопок, в комнату вваливается четверо ОМОНовцев с нашивками в виде угловых скобок. Двое скручивают программиста, один садится за компьютер, еще один встает около мужчины, снимает маску и говорит: - Что тут у нас? JS? Да это десятка с конфискацией. Пацаны, проверьте еще на блокчейн, больно бледно он выглядит, небось герыч по вене бьет.
Meowbe/BSD-2-Clause
Найс
Alexander
с persistent/postgresql-simple максимально быстрый способ заполнить таблицу какой?
Leonid 🦇
COPY TO, но там головняк есть с форматированием
Alexander
насколько головняк?
Alexander
если я например proper csv сделаю, то я могу его тупо загрузить?
Leonid 🦇
да