@haskellru

Страница 360 из 1551
Alexander
22.08.2017
09:04:20
кстати, если есть топики, которые желательно покрыть и интересные вопросы, то можно их мне задать и я их покрою

Leonid
22.08.2017
09:04:21
Слайды?

Alexander
22.08.2017
09:04:27
слайды будут

я минимум выложу

Google
kana
22.08.2017
10:30:15
Интересны две последние темы, жаль, что записи не будет

Alexander
22.08.2017
10:45:07
похоже точно придётся на такси домой

? animufag ?
22.08.2017
11:13:36
ну если уложатся до 23 то ок. хотя скорее всего не выйдет

Alexander
22.08.2017
11:15:53
у меня последняя маршрутка в 23 с московской

Max
22.08.2017
11:33:53
https://twitter.com/ko_bx/status/898550827954130945

наканецта

самая бесящая меня хрень в х-е

хотя тут тоже костыльновато, но хоть что-то

Ramzes
22.08.2017
11:35:16
вербозненько

Max
22.08.2017
11:35:31
да

ещё лет 5 пройдёт и сделают как надо

Anatolii
22.08.2017
11:36:33
эвоидят саксес как могут !:)

Alexander
22.08.2017
11:37:52
@mtreskin но линзы уже же есть?

Google
Kit
22.08.2017
11:38:28
vim + terminal = haskell IDE

Igor
22.08.2017
11:38:43
https://twitter.com/ko_bx/status/898550827954130945
а объясните, в чем суть? два конструктора значений с одинаковым названием?

Alexander
22.08.2017
11:40:06
в одном файле у нескольких структур одно и тоже имя поля может быть

Ilya
22.08.2017
11:47:09
getField @"name" лолчто

Сейчас бы в 2017 функции как строки вызывать

Denis
22.08.2017
11:48:39
жсненько

kana
22.08.2017
11:50:18
Там тайплевел строки и инстанс HasField "name" User, если я правильно понял. Главное, что тайпчекается

Yuriy
22.08.2017
11:52:15
почему не #name?

kana
22.08.2017
11:53:50
Такой синтаксис у TypeApplications

https://ghc.haskell.org/trac/ghc/wiki/TypeApplication

Ilya
22.08.2017
11:54:44
почему не #name?
Почему не name?

Yuriy
22.08.2017
11:55:20
Почему не name?
это вопрос будущего, а мой вопрос о настоящем

kana
22.08.2017
11:56:01
#name - тип?

? animufag ?
22.08.2017
11:56:49
хмм

Yuriy
22.08.2017
11:56:51
нет, OverloadedLabels

? animufag ?
22.08.2017
11:57:16
я немного отстал. давно строка в хаскеле стала типом?

kana
22.08.2017
11:57:26
Ну, в данном примере "name" - не строка, а тип с кайндом Symbol

TypeApplication позволяет через @ этот тип аргументом отдать

Не, typeapp. что-то другое делает

Alexander
22.08.2017
11:59:53
а где сейчас снойман живет?

Google
Alexander
22.08.2017
11:59:58
TZ wise

а то вроде там ночь должна быть, а он активно принимает PR

kana
22.08.2017
12:08:20
По сути @ позволяет явно указать тип для тайпкласса, то есть просто getField (User ...) не знает, для какого тайпкласса HasField (f :: Symbol) r вызвать метод getField, с помощью @"name" мы явно говорим, что f = "name" и мы хотим инстанс HasField "name" User

А само расширение просто генерирует такие инстансы, поэтому все тайпчекается

Хм, все немного сложнее, там 3 аргумента у тайпкласса - значение поля еще, в твитте все описано

Alexander
22.08.2017
12:27:52
ну это мне нравится больше чем #name

меньше магии как-то

? animufag ?
22.08.2017
15:35:40
(как-то спрашивал уже давно, ну да ладно) ничего нового парсек-подобного не появлялось? (ну или не подобного) перфоманс не важен. требований особо нет – пишу транслятор для себя и норм будет если с чем-нибудь новым познакомлюсь

Yuriy
22.08.2017
15:45:56
если давно спрашивал, может, мегапарсек для тебя окажется новым

а трифекта уже старая?

Leonid
22.08.2017
15:46:48
parsers, lol

Alexander
22.08.2017
15:47:26
это кметтолиба?

кметтолибы постепенно начинают напоминать олеговские

Leonid
22.08.2017
15:48:25
Ага. Инстансы для трифекты/attoparsec/parsec есть.

Vladimir
22.08.2017
15:48:37
а в чем профит старенького polyparse, расскажите мне

Alexander
22.08.2017
15:50:14
а мне про uuparsinglib

? animufag ?
22.08.2017
15:50:51
если давно спрашивал, может, мегапарсек для тебя окажется новым
наверное окажется. тогда я не понял в чём разница

Yuriy
22.08.2017
15:52:00
у мегапарсека самые красивые сообщения об ошибках, по слухам

? animufag ?
22.08.2017
15:52:03
сейчас вроде уже статьи гайды гуглятся. реально тогда только типичная ситуация была – описание функций в модулях

Alexander
22.08.2017
15:52:15
и кусок авторов здесь

Google
Yuriy
22.08.2017
15:53:22
под "красивые" в том числе подразумевается "понятные и полезные для пользователя"

? animufag ?
22.08.2017
15:54:16
у мегапарсека самые красивые сообщения об ошибках, по слухам
ну диагностика это круто. правда для парсеров есть 2 направления развития: не сделать слишком много тайпклассов чтобы при написании было понятно откуда ошибка, ну и описание ошибок в полученом парсере (видимо имеется ввиду второе)

Yuriy
22.08.2017
15:54:55
тайпклассы? речь об ошибках в инпуте пользователя

Denis
22.08.2017
16:16:40
жаваскриптеры негодуют https://twitter.com/jaredforsyth/status/900023624073084929

Alex
22.08.2017
16:18:54
И что тут непонятного? ?

По-моему, если бы это было написано на жс, я бы дольше вникал

Denis
22.08.2017
16:23:44
ну вообще если бы это еще он красиво написал

Bauyrzhan
22.08.2017
17:57:22
Вот это уровень, 28 новых сообщений с момента когда затнвайтился в конфу и не понял ни одного

Leonid
22.08.2017
18:17:16
Спрашивай ответы, не стесняясь. Есть только одна вещь которую хаскелисты любят больше чем абстрактный нонсенс - умничать.

Ivan
22.08.2017
18:36:13
module Main where authenticate ("Santa Claus", "Ho Ho Ho!") = True authenticate (_, _) = False authenticate "Santa Claus" "Ho Ho Ho!"

я новичек

у меня валит ошибку

source_file.hs:6:1: Parse error: naked expression at top level Perhaps you intended to use TemplateHaskell

хелп ми плиз

Андрей
22.08.2017
18:38:04
если это в репле, то нужны леты (вроде) и многострочный режим. если в модуле - то нет мэйна и принта

Mansur
22.08.2017
18:38:27
main = print $ authenticate "S" "H"

Ivan
22.08.2017
18:39:10
блет

сложна

Андрей
22.08.2017
18:39:41
точна

Google
Mansur
22.08.2017
18:39:41
ну можно main = print (authenticate "S" "H")

Ivan
22.08.2017
18:39:52
я пітаюсь паттерн матчинг использовать

Ilya
22.08.2017
18:40:07
module Main where authenticate ("Santa Claus", "Ho Ho Ho!") = True authenticate (_, _) = False authenticate "Santa Claus" "Ho Ho Ho!"
ты паттерн-матчишь кортеж, а вызываешь как функцию

вызывай как функцию от кортежа или паттерн-матчи без кортежа

Андрей
22.08.2017
18:40:27
да, и это тожа

Denis
22.08.2017
18:40:35
у тебя же в ПМ пара, а ты юзаешь в вызове функцию с 2 аргументами

))

Mansur
22.08.2017
18:41:03
это следующее сообщение об ошибке :)

Ivan
22.08.2017
18:41:09
такс я думаю время идти разбираться

да кстати если я там скобки убираю ну типо кортеж убираю все равно та же ошибка

Ilya
22.08.2017
18:42:32
с такими мелочами я работаю так: сначала пишу в файл определение функции, а потом играюсь с ним уже в REPL

так что main не нужен

Ivan
22.08.2017
18:43:00
ну я пытаюсь так делать

Mansur
22.08.2017
18:43:15
Ivan
22.08.2017
18:43:59
спасибо

ошибка поменялась))))

Mansur
22.08.2017
18:44:12
или назови модуль по-другому

Страница 360 из 1551