Cheese
Alexander
на этом канале и не cardano рекламируют : ]
Taras 🦀
Arseniy
Cheese
это же здорово, что на сабже можно больше одной криптовалюты написать
Alexander
на тут периодически появляются ещё люди кто пишут
Alexander
на linked.in/upword
Alexander
upwork
Зигохистоморфный
что скажете о https://hackage.haskell.org/package/mmorph-1.1.0/docs/Control-Monad-Morph.html ?
Alexander
это mmorph
Зигохистоморфный
Ну это понятно, для трансформеров норм?)
Alexander
норм
Зигохистоморфный
И как всегда нет примеров)
Andrey
Господа, сорри за оффтоп, но вы тут умные, может подскажете ) Ай вонна (ту?) импрув май Инглиш коммуникейтив скиллз анд сик фор инглиш чатс витх мэйнли нэйтив спикерз, ту трэйн анд гот эн экспириенз ))) Причем, хорошо было бы, чтобы канал был интересный тематически и про то, где я могу хотя ин рашн что-то сказать - про Лисп/Схему, например, или про Хаскель на худой конец ) Посмотрел Телеграм-каналы - они руссоязычные в большинстве, на Слаке нашел про Кложу и про Ракет - уже хорошо, на Гиттере навскидку ничего не нашел. Уверен, что вы знаете много подобных мест - телл ми плиз!
Viacheslav
irc про хаскель?
кана
Из активных знаю ток слак элма
кана
Там прям поток
Andrey
который на фриноде? спасибо, думал про него, но что-то меня смущало, попробую.
Danila Matveev
functionalprogramming в слаке
Andrey
Поток это хорошо, спасибо. Элм правда не пробовал, но могу выступать в роли тупого новичка )
Andrey
Спасибо, посмотрю его
Alexander
Андрей #haskell irc
Arseniy
irc ❤
Arseniy
Советую клиент weechat
Alexander
а можно poezio
Alexander
тогда ещё прокачаешь польский
Alexander
и си
Andrey
Спасибо, раз вы за ИРЦ, попробую его. Я планировал из браузера заходить.
Alexander
https://webchat.freenode.net/
Alexander
это есть конечно, но имхо клиент лучше
Alexander
ты вроде под виндой?
Alexander
там были mIRC (шароварный)
Andrey
Польский мне пока не нужен, а си.... Можно качать конечно )
Alexander
ну чтобы поезио удобно пользоваться, тебе нужны будут скилы си и польского
Andrey
Да, под виндой. Я для ИРЦ даже бота писал, заходил как раз через фриноде.нет )
Alexander
хотя наверное там апстрим умер
Andrey
Сорри, мне не до поэзии )))
Alexander
зато отличный клиент
Alexander
даже умеет одновременно много чего
AV_N
2017-09-06 22:14:45 -!- Irssi: #haskell: Total of 1583 nicks [2 ops, 0 halfops, 0 voices, 1581 normal]
Andrey
юникс-вэй - ду ван финг, бат ду ит райт!
AV_N
бодрый там канальчик, и там вокруг ещё много всяких. А вот русский haskell-ru практически вымер
Alexander
Андрей тогда и телнетом можно
Alex
я в консольном клиенте сижу на удаленном сервере через putty
Andrey
а смысл искать локальные клиенты когда есть браузерный?
Andrey
ну разве только у кого канал тончайший
Alex
он постоянно висит и историю хранит
Alexander
браузерный весьма кривой и ненужный
Alexander
прочем у меня quassel на сервере, к нему кутишный клиент
AV_N
irssi в tmux — оптимально)
Alex
вово
Alex
у меня именно оно
Anonymous
Господа, сорри за оффтоп, но вы тут умные, может подскажете ) Ай вонна (ту?) импрув май Инглиш коммуникейтив скиллз анд сик фор инглиш чатс витх мэйнли нэйтив спикерз, ту трэйн анд гот эн экспириенз ))) Причем, хорошо было бы, чтобы канал был интересный тематически и про то, где я могу хотя ин рашн что-то сказать - про Лисп/Схему, например, или про Хаскель на худой конец ) Посмотрел Телеграм-каналы - они руссоязычные в большинстве, на Слаке нашел про Кложу и про Ракет - уже хорошо, на Гиттере навскидку ничего не нашел. Уверен, что вы знаете много подобных мест - телл ми плиз!
"wanna" это и есть "want to"
Andrey
thxs
Ksenia
Добрый день, я прошу прощения, если здесь такие вопросы не приветсвуются,
суть: отсутствие знание по тому как сделать код производительным,
(не читала, к сожалению Марлоу)
Задача которую решает: обрезание лишних полей в файле формата psv (| delimiter)
https://pastebin.com/PiXhSFbh
Dmitry
1) переход со String на ByteString
Dmitry
для начала.
Aleksei (astynax)
Или на Text
Aleksei (astynax)
По ситуации
Dmitry
2) собирать с оптимизацией. скорее всего, на этом всё разумное, что можно сделать для этой задачи без фанатизма - заканчивается
Dmitry
почему так странно передаются агрументы -
cutExtraFields :: [String] -> IO ()
cutExtraFields [inputFilename, outputFilename, lastColumn] = do
Dmitry
зачем так?
Dmitry
а, типа что бы не разбирать на месте командную строку, ок
Aleksei (astynax)
Кажется, если уж всё равно код "на выброс" (судя по тому же разбору параметров), то можно было просто тупо регуляркой отрезать лишнее
Dmitry
не, split | join работает как правило очень ок
Dmitry
и выигрывает в разы у любых регулярок и парсеров
Bogdan
https://m.habrahabr.ru/post/129235/
В этой статье решается похожая проблема и описываются ошибки в коде, негативно влияющие на оптимизацию
Aleksei (astynax)
Как только не появится файл, где разделитель может быть экранирован :)
Dmitry
да
Dmitry
отсюда третий совет - взять библиотеку для CSV
Dmitry
что бы не париться экранированием и разбором строковых литералов
Aleksei (astynax)
А так то String в данном случае может даже быть ок - если каждую строку проходить один раз. Ещё бы файлик разбирать построчно
Aleksei (astynax)
Разбор файлика построчно вместо lines/unlines, на мой взгляд, самое первое изменение, которое стоит сделать
Dmitry
может всё-таки, если задача не учебная, взять какую-нибудь cassava и ей разобрать файл?
Dmitry
ей же и собрать
Aleksei (astynax)
cassava умеет ряд просто в список декодить, да и разделитель там можно переопределить
Aleksei (astynax)
И "шапку" отбрасывать умеет, конечно
Vasiliy
а можно написать императивненько
Vasiliy
всё равно cutExtraFields возвращает IO ()