Boris
Добрый день, тут на хакерранке время убивал, нашел физзбазз соревнование. Чем короче написать тем больше баллов. Есть блог пост https://dmytrish.wordpress.com/2013/10/10/haskell-fizzbuzz/ Сумел улучшить на два символа, но судя по лидерборду можно еще на два символа сократить. Убил два дня. Два вопроса - как все таки тут еще можно сократить решение? И второй, что посмотреть на тему генерации хаскель кода на хаскеле. Чтобы написать поиск самой короткой программы? r n=drop.(*)9.rem n main=mapM(\n->putStrLn$max(show n)$r n 3"Fizz"++r n 5"Buzz")[1..100]
Ilya
ого, какая жесть
Boris
https://www.hackerrank.com/challenges/fizzbuzz/leaderboard
Boris
а вот и лидербор
Alexander
все равно баш выиграет или перл какой
Alexander
на hackerrank был fizbuz в code pingpong
Boris
ну перл и выиграл, 48 чтоли
Misha
https://docs.perl6.org/language/haskell-to-p6
Misha
теперь только перл
Vyacheslav
👍🏻
Влод
Думаю здесь найдутся emacs-, evil-, spacemacs- шарящие. В общем решаю задачки по идрису и заодно решил посмотреть на spacemacs. в режиме emacs всё норм, но сочетания слишком длинные M-m m h a Search the documentation for a string. в режиме вима или гибриде я не могу выполнить команду в репле (нажимаю i ввожу что-нибудь, нажимаю энтер и там в строке просто ставится пробел и всё). Не думаю что у кого-нибудь был ровно такой же случай, но наверняка есть догадки какая там должна быть стандартная клавиша для этого _______ хотя чувствую постоянно нажмать i, esc в репле также надоест
Alexander
/me мучается в виме
Anatolii
что пошло не так?
Anatolii
вим же прекрасен
Serghei
+1
Serghei
он божественен
Anonymous
@vlastachu дело даже не в идрисе конкретно, любые реплы в режиме вима в spacemacs не юзабельные какие-то ((
Anonymous
сам мучаюсь
Влод
ну вим с идрисом предлагает внешний репл использовать (вроде), что в принципе не так уж и плохо
Alexander
idris filename, :e
Alexander
я использую
Alexander
но не знаю как это будет работать со многими файлами
Влод
ноо казалось бы это излишне если у тебя и так подключенный процесс висит
Anonymous
ну вим с идрисом предлагает внешний репл использовать (вроде), что в принципе не так уж и плохо
а ты вим юзаешь консольный или оконный? я когда на виме сидел, то юзал консольный, и такие вещи вполне естественными казались. сплитишь терминал — слева вим, справа репл
Anonymous
или там снизу/сверху
Влод
@vlastachu дело даже не в идрисе конкретно, любые реплы в режиме вима в spacemacs не юзабельные какие-то ((
так в емаксовом режиме там всё ок, ну то есть автодополнение, подсветка, команды работают, прекрасный репл
igo
а атом никто не пользует? с идрисом.
Anatolii
я тмукс спличу для ghci
Anatolii
с идрисом так не прокатити?
Влод
а атом никто не пользует? с идрисом.
с идрисом не пробовал, только с хаскелем. рекомендуешь?
igo
ну, на лекциях бравита в спб все ребята, что я видел, его использовали.
igo
генерация кода там тоже работала вроде как. так что хз зачем emacs. это просто у лектора любовь какая-то.
Влод
с идрисом так не прокатити?
конечно прокатит, но как-то... к примеру я сохраняю файл (ещё не забиндил на сохранение, нажимаю какое-то длинное сочетание клавиш), оно показывает ошибки, показывает подсказки прувера и заодно перезакгружает репл
Влод
генерация кода там тоже работала вроде как. так что хз зачем emacs. это просто у лектора любовь какая-то.
не ну емакс можно понять. все эти агды кок идрис в первую очередь делают поддержку емакса, а дальше уже коммьюнити
Влод
ну хорошо, пойду по наименьшему сопротивлению – настрою атом
igo
я пока не знаю, как туда попасть, но думаю даже поучаствовать.
Влод
ну я так помню вместе с кок была какая-то емакс подобная штука (мб просто настроенный емакс) и там прям вообще жить можно было. А ещё атом хайпился не больше года, сейчас все фронтендщики перелазят на вс код. Не знаю есть ли хоть какие то объективные показатели в которых они различаются, но боюсь что атом мейнтейнеры забросят
Anonymous
ты о ProofGeneral?
Anonymous
я его и в spacemacs прикручивал)
Влод
ты о ProofGeneral?
не знаю такого слова
Anonymous
не знаю такого слова
ну это для Coq в Emacs
Anonymous
больше ничего и нет вроде
Влод
я про coqide
Anonymous
а где он емаксоподобный?
Влод
очень простая штука
Влод
в воспоминаниях)
Anonymous
всё что у нас осталось)
Влод
https://github.com/HeinrichApfelmus/hyper-haskell вот такое приделать в атомовый репл было бы красиво
Влод
практической пользы разумеется мало
Влод
но обучение начальному фп через diagrams
igo
hyper — это ж новый терминал который, да? всё не решусь его попробовать
Влод
не уверен
Влод
скорее нет
igo
https://github.com/zeit/hyper
Влод
а тогда видимо да
Влод
ну в общем я впервые увидел тайпкласс Display в платной недо-иде для мака. потом в этом проекте. подумал что в атом бы лучше всего вписалось
Влод
а чистый hyper зачем нужен?
Влод
https://cloud.githubusercontent.com/assets/13041/16820268/13c9bfe6-4905-11e6-8fe4-baf8fc8d9293.gif
Влод
неплохо, да) но может есть что-нибудь более впечатляющее?
igo
а чистый hyper зачем нужен?
ну это ж правильный и расширяемый терминал.
igo
с поддержкой юникода, emoji, 256+ цветов итд.
Anonymous
Hyper от слова "hype"
Anonymous
нувыпонели
Влод
ну ок, хотя у меня на маке таки есть эмодзи в логах гита. но на линухе приходится страдать да
Anonymous
поддержка эмоджи это конечно киллерфича
igo
надеюсь, этот hyper не жрёт 400 мб оперативки потому что может.
igo
поддержка эмоджи это конечно киллерфича
в последнее время считается, что гит коммиты стоит оформлять вместе с ними.
igo
ну и всякие билд логи тоже нагляднее получаются.
Влод
ну вот то, что я скинул с хаскелем ссылку, оно как бы похоже на что-то осмысленное. мб ещё есть какие проекты?
Влод
а вообще это ок как минимум из-за одного кейза: поставить такую штуку на сервер как в курсе fast-ai питон на амазоновский сервер ставишь и веб репл
Влод
надеюсь, этот hyper не жрёт 400 мб оперативки потому что может.
конечно же будет жрать как любой электрон, забей
igo
йеп. всякие данные отображать с реплом было бы удобно. массивы / графики / итд.
igo
как ipython notebooks
Влод
да это я про него