IC
если планировалась, но не получилась, то и не правильная ведь
A64m
да, идея была очень плохая
IC
и это теперь такое напоминание о первородном грехе ФП языков. помним, скорбим..
A64m
они и в пейперах часто вместо этих звездочек греческие буквы писали
IC
в коде до сих пор пишут, транслитом
Artem
насколько Trees that grow переносимо на личные rpn-калькуляторы? не оверкил ли оно для всего, что не является GHC?
Я думаю, что оно оверкилл как раз для ghc, которому он огромное количество кода перелопатит. Я хотел в своём пет-проджекте запилить, но пока всё никак руки не доходят
A64m
в коде до сих пор пишут, транслитом
да, сейчас вместо параметров вроде a и 'a пишут, и не всегда beta бывает что и юникодом
IC
да, сейчас вместо параметров вроде a и 'a пишут, и не всегда beta бывает что и юникодом
технический долг платежом красен, угу. я поэтому и смотрю заранее варианты чтобы не лопатить через пару месяцев.
A64m
первоначально-то эти кайнды-звездочки вообще не языковой конструкцией а конструкцией в сообщениях об ошибках, только в относительно современное время их стало можно аннотировать. сейчас и другую конструкцию из сообщений компилятора в язык продвигают - {} в forall-ах
Алексей
А что за {}?
Leonid 🦇
а как в серванте делать редирект?
Aleksei (astynax)
Сложна :)
Leonid 🦇
Raw?
Aleksei (astynax)
Ща поищу. Мы делали у себя
Leonid 🦇
https://gist.github.com/alpmestan/757094ecf9401f85c5ba367ca20b8900 вот такое нашел
Евгений
почему не % или не $?
Потому что инициальный элемент же
A64m
А что за {}?
https://github.com/ghc-proposals/ghc-proposals/pull/99
Ю ли я? 🤔
Как сделать частичное применение для второго параметра конструктора типа?
Aleksei (astynax)
https://gist.github.com/alpmestan/757094ecf9401f85c5ba367ca20b8900 вот такое нашел
Примерно так, да. У нас так newtype RedirectLocation = RedirectLocation { unRedirectLocation :: ByteString } deriving (Eq, Show, ToByteString) type LocationHeader = Header "Location" RedirectLocation handle :: ... m (Headers '[LocationHeader...] ...) handle = addHeader (RedirectLocation "/") ...
Leonid 🦇
До чего техника дошла
Ю ли я? 🤔
newtype Flip a b = Flip (Foo b a)
Но это же будет новый тип :( Без него никак? (если никак, то я смирюсь)
A64m
никак
Alexander
Алексей
Пластмассовый го победил
Евгений
А что оказалось сильней?
Алексей
Не идёт на ум пока
Алексей
А!
Алексей
Пластмассовый го победил, Фронтенд оказался сильней
Alexander
не сходится
Alexander
если фронтенд оказался сильнее то го проиграл
Алексей
Так го на бакэнде
Alexander
поэтому и проиграл
IC
@astynax тут классику забыли
Aleksei (astynax)
> Пластмассовый го победил, > Фронтенд оказался сильней Пластмассовый Го победил. Роб Пайк оказался хитрей. О-о, мои Обероны! (исполняет Никлаус Вирт)
Евгений
Пластмассовый го победил, Фронтенд оказался сильней
У нас тут пол активного чата фронтендеры, давайте без вот этого вот.
Влод
Оберон ж такое себе
в этом ирония
Aleksei (astynax)
Влод
хотя вообще хз что там с обероном я помню в приложении к какой-то книге прочитал что разрабатывается оберон и там тоже всё будет хорошо
Алексей
Встречал я оберонщиков. Странные люди
Влод
король эльфов и фей
Евгений
Алексей
Я так считаю, что подобные шуточки им не повредят
Alexander
в том что половина хаскель-чата фронтендеры есть своя ирония
Alexander
может запилим реактивный фрейворк для ghcjs?
Alexander
с css in haskell и прочими прибаутками
Влод
(не часто читаю этот чат, вроде тут уже несколько модерирующих ботов на сабже запилили)
Влод
чёт наверное в обероне нет дженериков
Влод
хотя в вики встречается generic module
Sr
в том что половина хаскель-чата фронтендеры есть своя ирония
Это лишь значит что другая половина здорова (зачеркнул) #шутеечка
Alexander
это божественно
о, мои обероны, же
A64m
даже в каких-то поздних оберонах (зоннон или как там его) есть дженерики. даже вирт менее дремучий и пещерный чем пайк
Ю ли я? 🤔
Зоннон вроде уже не виртовский: Designed by Jürg Gutknecht
A64m
а что, оберонщики го не любят? я их как-то последние лет 10 в интернетах встречать перестал
Влод
Ну а кто го любит
A64m
ну, то, за что го не любят обычно - оберонщики-то как раз любят
Ю ли я? 🤔
На Хабре три года назад была эпичная Неделя Оберона, срач в комментах утроился
A64m
я хабр не читаю
IC
в чём профит использовать alex в качестве токенизатора перед мегапарсеком? (на скорость пока пофиг)
Влод
в чём профит использовать alex в качестве токенизатора перед мегапарсеком? (на скорость пока пофиг)
Вообще не понимал в чём профит лексеров Разве что они вместе со своими бизонами шли
Denis
А что оказалось сильней?
роб пайк конечно же
Cheese
что не так с 8.4? почему его до сих пор нет на matrix.hackage.haskell.org?
Alexander
И почему люди стремятся воткнуть монаду во все типы, которые могли бы без этого обойтись, а монадические операции могли бы быть выполнены отдельно?
Alexander
Монада / Функтор / Аппликатив - это, конечно, очень сильные инструменты, но если есть возможность написать некую машинерию без внесения туда дополнительных свойств (которые получаются вовне так же легко), то такая машинерия становится менее хрупкой и более композабельной
Alexander
Мой поинт: обязательно нужно разделять консерны, если к этому нет явного показания. Вещи, делающие разное, должны быть по максимуму независимы друг от друга.
A64m
ну инстансы монады дают кучу функций, синтаксис и т.д.
A64m
вполне понятно зачем их делают
Alexander
Погоди, я не про инстансы монад.
Alexander
Я про какой-нибудь такой тип: data Foo a b m = Foo a (m b) Где сам функтор m можно вообще не пихать сюда, и ничего страшного не произойдет, если он будет data Foo a b = Foo a b потому что вся машинерия может быть сделана без монады, а монадические вызовы могут быть сделаны рядом, в каком-нибудь комбинаторе withFooM :: Foo a b -> m b
Дима
может запилим реактивный фрейворк для ghcjs?
Так а чтоб без хелперов всё было? Раз такой язык мощный, зачем помощники если можно сразу оптимизированный код выдать?)
Denis
Foo m a b тогда уж
Denis
функтор то по b
Denis
ну т.е. может и по a, но по b точно