Andrey
Осталось действительно углубиться в детали специфических Хаскель-либ и будет совсем хорошо )
A64m
Клин. Но на нем бекенд не пишут
Alexander
Вопрос знатокам stack'a: есть ли способо загрузить в ghci код из test, а не только из src? Аналог команды: stack ghci
Aleksei (astynax)
Он и подгружается
Andrey
В таких радикальных эхо-камерных случаях всегда всплывает в памяти эти кадры https://www.youtube.com/watch?v=cSZfUnCK5qk
Alexander
пакет?
Alexander
Warning: Some targets (tests) are not local packages, and so cannot be directly loaded. In future versions of stack, this might be supported - see https://github.com/commercialhaskell/stack/issues/1441 . It can still be useful to specify these, as they will be passed to ghci via -package flags.
Alexander
Ну ладно, может, еще покопаюсь потом
Dmitry
как красиво делается такое: sum $ zipWith (*) [1,9,9,9] [1000,100,10,1]
кана
дык красиво же можно конечно через один фолд переписать, но это точно будет менее красиво
Dmitry
врод есть какая-то идиома
A64m
В таких радикальных эхо-камерных случаях всегда всплывает в памяти эти кадры https://www.youtube.com/watch?v=cSZfUnCK5qk
не понятно, про какие ФЯ вы хотите читать в твиттере. Хаскель-то еле живой, а прочие уже повымерли
Andrey
дотпродукт может быть где-то в либах
Andrey
Ну про что-то еще помимо кантри и вестерна ))
Andrey
И особенностей щипкового звукоизвлечения на банджо в западной части Алабамы )))
A64m
например?
Aleksei (astynax)
пакет?
stack ide targets выведет все цели. Потом stack ghci <target>
Andrey
Ну вы же прекрасно знаете все примеры, зачем спрашивать
A64m
знаю, не знаю, что может быть из этого интересно в смысле бекенда. f# и ocaml? есть радикальное мнение что это ФЯ
Andrey
вот, уже получается что-то вспомнить помимо сабжа )
A64m
ну так они еще более маргинальные
A64m
где еще найти человека который их знает
Andrey
ну есть радикальное мнение (С) что и джаваскрипт ФП - а его знают мягко говоря многие
A64m
если яваскрипт ФЯ, то не ФЯ только C++ и раст
A64m
а, ну и си еще, конечно
Aragaer
это чо ж си не фя, там же тоже можно передавать функции в качестве аргументов
Andrey
вот про это и хотел напомнить свитерцам )
Andrey
они там не фест класс - поэтому не ФЯ
A64m
если считать языки, в которых UFP не решена, тогда вообще все ФЯ
Andrey
а то как в анекдоте: а теперь давайте не шуметь, православные думают что они в раю одни )
A64m
грубо говоря фя это, по мере увеличения множества подходящих под определение: эдинбуржщина-тернеровщина, +лиспы, все с решенной UFP, все
Andrey
ваши бы слова да в свитер
A64m
все-таки ФЯ нормально считать эдинбуржщину тернеровщину, лиспы и прочая скриптовщина - вообще не языки, а то что всякие Явы можно считать ФЯ - это просто курьезное наблюдение, писать как на ФЯ на таких все равно не получится, так что из представления о ФЯ пользу не извлечь
Alexander
надо про ela написать
Alexander
как же без этого
Andrey
+
A64m
ats2
строгий же, значит недофя
A64m
такой дефективной эдинбуржщины полно, конечно
Dmitry
не, считаем что есть только prelude и text
A64m
можно воспользоваться инстансами для обертки ZipList, но зачем? Будет хуже
Dmitry
я помню сюда чел приходил, ему подсказали элегантное решение
Зигохистоморфный
можно как минимум 3 способами)
Зигохистоморфный
foldr (\b a -> a + product b) 0 $ transpose [[1,9,9,9], [1000,100,10,1]] но это же все дичь
кана
интересный нейминг я вообще сторонник того, чтобы экспортируемые сущности имели имя, которое не содержит в себе имени модуля для чисто квалицифицированного импорта, но haddock такое фигово обрабатыва
кана
т
A64m
эмелисты такое широко практикуют
кана
как и гоферы, кстати
A64m
foldl тут не поможет
parket
Ребят, помогите разобраться с Квантификацией типов и RankN в частности. Я понял, что ничего не понял. fun :: forall a b c. (a, b) -> (forall z. z -> c) -> (c, c) fun (a, b) fn = (fn a, fn b) И пытаюсь вызвать как fun (1, 2) id -------------- • Couldn't match type ‘c’ with ‘z’ because type variable ‘z’ would escape its scope
parket
Просто пример, без смысла.
A64m
ну у id тип a -> a
parket
Да. Это понятно. Но разве мы не можем вывести c?
A64m
ну мы и вывели что это будет z и значит он "убегает" из скоупа, т.е. возвращается из функции значение такого типа
parket
Вот видимо я не понимаю, что значит "убегает". 😞
Denis
унификация приведет к тому что возвращать это предположительно будет (z,z), а это запрещено, т.к. z квалифицирован только внутри forall z. z -> c)
Denis
квантифицирован, простите
Alexander
@bravit111 вообще весело бы было если бы был какой-то врыв от других ФП языков
Alexander
возможно
Denis
врыыычто?
Vitaly
Взрыв?
Alexander
ну ворваться
parket
Что можно почитать, чтоб не возникало подобных вопросов? А то не полностью понял. Вот, например аннотация типа foo :: Int -> c Чем может быть c? Чем-угодно, так? Т.е. мы не знаем чем. Правильно я понимаю, что единственная возможная реализация такая: foo _ = undefined
Alexander
как от этого существительное сделать
Alexander
@parketgo - да
Denis
я так и подумал, но требовалось подтверждение
Vitaly
Я вообще планирую гадости пописать, но я их не очень много знаю
Denis
Взрыв?
террористический твит?!
Vitaly
От @qnikst всего можно было ожидать
Alexander
вот такая вот репутация
🍅Ťомат
Добрый вечор, господа, а клиент для Telegram на хаскелле еще никто не реализовал?
Alexander
ну боты были, клиент не знаю