@haskellru

Страница 1310 из 1551
Alex
27.06.2018
11:05:16
но в конце может быть запятая

Или вот тоже может быть a,

Или без запятой

Мне нужно вернуть две строки, одна пустая если отсуствует какое либо значения

Google
Ilya
27.06.2018
11:06:05
clexem [= clexem] [,]

Yuriy
27.06.2018
11:06:08
а, ну это точно optional

Ilya
27.06.2018
11:06:17
как-то так?

Alex
27.06.2018
11:06:26
Да

Верно

Ilya
27.06.2018
11:07:10
странно, конечно, что запятая, как Гамлет, не может решить, быть или не быть

Alex
27.06.2018
11:07:25
Это все сишные енумы

Там в конце запятая может быть или не быть

Ilya
27.06.2018
11:08:19
clexem <*> optional (char '=' *> clexem) <* optional (char ',')

Alex
27.06.2018
11:09:26
А как мне модифицировать это так, чтобы моя функция возвращала a и b?

Ilya
27.06.2018
11:09:58
ну, если не запятая, там должен быть вайт-спейс? или ньюлайн только? я не помню синтакс енамов

мой код, кстати, вообще не тайпчекется

ну, в do все заверни

Google
Ilya
27.06.2018
11:11:41
do a <- clexem b <- optional (char '=' *> clexem) -- b is Maybe return (a, b) -- or whatever

забыл запятую

Alex
27.06.2018
11:14:44
А как мне вытащить значение b из maybe?

То есть если b nothing то поместить вместо него пустую строку?

Все

Я нагуглил

Я запустил

Почему b всегда nothing

Yuriy
27.06.2018
11:22:02
Это все сишные енумы
а взять готовый сишный парсер не круто?

Alex
27.06.2018
11:22:21
Хочется поиграться с хаскелем

Yuriy
27.06.2018
11:22:24
Alex
27.06.2018
11:22:37
pos123 :: Parser Position pos123 = do do a <- clexem b <- optional (char '=' *> clexem) case b of Just b -> return ( Position a b) Nothing -> return ( Position a "") -- class

Yuriy
27.06.2018
11:23:07
в char '=' *> clexem, кажется, не учитывается пробел

Alex
27.06.2018
11:23:57
Да

Так и есть

Я кажется уже и сам поправлю

Спасибо большое

Maxim
27.06.2018
11:26:10
можно сделать return $ Position a $ fromMaybe "" b

и никаких кейсов не надо

Alex
27.06.2018
11:35:57
Все

Google
Alex
27.06.2018
11:36:02
Все пашет как нужно

Большое спасибо:)

А как в кабеле добавить еще один source файл в качестве библиотеки?

У меня по дефолту есть Lib.hs

А как еще одну добавить?

Yuriy
27.06.2018
13:18:03
перечислить имена модулей (не файлов) в exposed-modules

или other-modules

А как в кабеле добавить еще один source файл в качестве библиотеки?
только это будет не новая библиотека, а новый модуль для той же библиотеки

Alex
27.06.2018
13:19:27
Понял, спасибо:)

Timofey
27.06.2018
13:20:23
Открытый вопрос - кто-то в проде использует shake?

Yuriy
27.06.2018
13:20:50
см. project Hadrian

Timofey
27.06.2018
13:23:00
Да, уже видел эту новость. Мне бы какие-то примеры, где люди выбрали shake не имея какой-то предшествующей привязки к экосистеме хаскеля

Я бегло погуглил, но единственная вменяемая success story - это миграция в Standard Chartered, да и та без каких-то конкретных фактов

А хочется - "Была каша из сконса/питона, нужен был фуллтайм синьор это всё поддерживать, компилилось 5 минут, после миграции компилится 30 секунд, поддерживается джуном на полставки" =)

Alexander
27.06.2018
13:29:01
спросил в рабочем чятик, если что ответят напишу

Timofey
27.06.2018
13:29:09
Спасибо

Dmitry
27.06.2018
13:31:08
Я смигрировал как-то питонолапшу на шейк, но потом другой человек перемигрировал на паппет

Так себе история успеха

Ilya
27.06.2018
13:37:24
https://github.com/swift-nav/shake-before-make/blob/0a47f66015a1cf4f742f2c938b3d75c1ff070ac9/Shake.pdf

Google
Ilya
27.06.2018
13:37:41
прилетело в Haskell Weekly

некий старап в СФ использует

Yuriy
27.06.2018
13:41:50
я пробовал в одном проекте внедрить, но понял, что Шейк не эквивалент Мэйку, и местами выходит сложнее, вернулся на Мэйк

Ilya
27.06.2018
14:01:23
шейк для совсем простых вещей выходит сложнее, да

с другой стороны, по мере возрастания сложности, шейк должен начинать выигрывать

(если что, я сам шейк не использовал, только пейпер читал, но доводилось копаться в ядерных мейкфайлах, многие вещи оттуда на шейке выглядели бы изящнее)

Ilya
27.06.2018
14:14:15
Что за shake? Чем лучше GNU/make?

Admin
ERROR: S client not available

Ilya
27.06.2018
14:16:27
совсем другой

начиная с того, что это EDSL внутри хаскеля

Yuriy
27.06.2018
14:31:23
и заканчивая тем, что не подходит ни для чего за пределами сборки

Andrei
27.06.2018
14:32:27
эээ. как что-то плохое.

IC
27.06.2018
14:54:00
А что ещё есть за пределами сборки в Make?..

Alex
27.06.2018
14:58:29
foldl (++) "" str

А как сделать так, чтобы еще запятые добавляла между элементами?

Ilya
27.06.2018
14:59:57
intersperse/intercalate

или возьми сразу библиотеку для претти-принтинга (кстати, какую сейчас правильно юзать?), там есть punctuate

Alex
27.06.2018
15:02:43
Спасибо

Artem
27.06.2018
15:12:02
foldl1 (\x y -> x ++ "," ++ y) str
Это ведь intercalate, нет?

Google
Ilya
27.06.2018
15:12:28
Это ведь intercalate, нет?
ну а выше там обычный concat

может человек фолдами учится пользоваться, откуда я знаю

Yuriy
27.06.2018
15:13:48
А что ещё есть за пределами сборки в Make?..
мы положили на крон + мэйк выполнение задач по расписанию, чтобы выполнялись только те задачи, которые ещё не были выполнены

IC
27.06.2018
15:23:44
и чем это отличается от "сборки"?

Yuuri
27.06.2018
15:24:23
А что ещё есть за пределами сборки в Make?..
Вообще всякие пайплайны для последовательной обработки кучкой тулзов (в каком-то смысле тоже "сборка", но произвольных данных, а не только сорцов). В биоинформатике, например.

Yuuri
27.06.2018
15:25:49
А я не говорю, что не может, я Shake не знаю.

Yuuri
27.06.2018
15:29:21
Да я ж спорю разве? Поэтому и используют (хотя всё-таки предпочитают всякие более специализированные Snakemake, ну кто что умеет)

Надо будет попробовать Shake для этой цели, а то задрало динамические ошибки ловить.

https://github.com/PapenfussLab/bioshake опачки, даже такая штука есть

Yuriy
27.06.2018
15:54:53
и чем это отличается от "сборки"?
короче, свелось к тому, что make смотрит только на файлы, а shake на свою базу. базу можно дропнуть, и shake пойдёт пересобирать, когда всё уже собрано. нам это не подходило совсем. сейчас думается, что можно просто написать обёртки для проверки наличия файла и даже специальные операторы, которые эти обёртки включают. тогда нам показалось, что кода становится в разы больше, а пользы меньше.

Leonid
27.06.2018
15:59:26
Зато в шейке можно пересобирать при изменении команд только то что нужно, а в мейк нет

Оракулы сила

Yuriy
27.06.2018
16:29:45
хочу посмотреть, что генерит deriving Show, и немного поправить для себя. как?

-ddump-deriv?

действительно

спасибо, чят

Алексей Ayaye :)
27.06.2018
16:33:33
обращайтесь )

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