@haskellru

Страница 319 из 1551
Alexander
24.06.2017
21:25:02
оно через $(varE a) используется? или есть более простые пути?

Artyom
24.06.2017
21:26:44
нету можно хелпер объявить newVar s = do x <- newName s return (x, varE x, varP x) do (_, aE, aP) <- newVar "a" [| \ $aP -> ... $aE ... |]

Alexander
24.06.2017
21:31:04
+

Aldar
24.06.2017
23:09:31
Google
Ldeana
25.06.2017
05:40:26
@MoneyMafia - канал где бесплатно публикуются различные способы и схемы заработка, которые продаются на тематических форумах за бешенные деньги.

Vladislav
25.06.2017
05:49:54
Привет!

Ilya
25.06.2017
05:50:32
Привет, рад видеть знакомые лица!

Richter
28.06.2017
09:24:40
че так тихо?

сегодня
28.06.2017
13:44:47
нет задач

Maxim
28.06.2017
13:57:35
В хаскеле есть что-то вроде console.log во время выполнения программы?

?

Dmitry
28.06.2017
13:59:23
print ("WUT", (show 12344))

trace (show ("WUT ", 1234))

Евгений
28.06.2017
14:00:05
Я подозреваю, что ему нужно не из IO :)

Anatolii
28.06.2017
14:00:18
trace без IO

Maxim
28.06.2017
14:05:57
это я пытаюсь сделать задание со степика и не очень получается. я так понимаю потом что области неправильные и в итерации хотел посмотреть что у меня в переменной

Google
Maxim
28.06.2017
14:06:08
но наверное это неправильный подход в хаскеле

module Integration where integration :: (Double -> Double) -> Double -> Double -> Double integration f a b = iter 0 a where steps = 1000 delta = (b - a) / steps iter acc a | a >= b = acc | otherwise = iter newAcc (a + delta) where newAcc = acc + (f a + f (a + delta)) / 2 * delta

Alexander
28.06.2017
14:10:13
trace/traceM к выше, тут надо посмотреть

что не получается то?

не тот ответ/не проходит по времени?

btw, раз уж количество шагов посчитано, то не проще ли по ним итерироваться, а не по a+delta копя ошибку?

вообще если пользоваться фунциональным подходом через iterate и т.п. то может жить проще

Maxim
28.06.2017
14:14:02
не тот ответ

про iterate пока не проходил)

Kit
28.06.2017
14:15:06
это что вы интеграл пытаетесь посчитать?

лучше испоьзовать foldl

Alexander
28.06.2017
14:20:28
лучше не использовать foldl никогда

foldl' или foldr

исключение если foldl это библиотека Гонзалесова

но внешние либы на курсах заборонены

Kit
28.06.2017
14:23:49
лучше не использовать foldl никогда
почему? я думал он хорошо оптимизирован

Alexander
28.06.2017
14:24:00
foldl как библиотека - хорошо

как метод - плохо

т.к. как метод это гарантировано thunk leak

Kit
28.06.2017
14:24:47
про библиотеку я не знал

Google
Kit
28.06.2017
14:24:53
и вообще не нашел

можешь скинуть ссылку?

Vasiliy
28.06.2017
14:27:04
http://hackage.haskell.org/package/foldl

Alexander
28.06.2017
14:50:28
https://www.well-typed.com/blog/2014/04/fixing-foldl/

про foldl

перед сном хорошо почитать

Alexey
28.06.2017
15:18:24
посоветуйте какую либо использовать чтобы парсить аргументы командной строки?

Dmitry
28.06.2017
15:18:48
optparse-applicative

если очень простые, то optparse-generic но потом все равно придёт к optparse-applicative

Alexey
28.06.2017
15:20:52
вот тут (https://wiki.haskell.org/Command_line_option_parsers) говорят что она не умеет конкретные ошибки показывать :(

Vasiliy
28.06.2017
15:22:30
смотря какая степень конкретности нужна

написать "Invalid argument `ololo'" оно может

Alexey
28.06.2017
15:35:45
ясно. спасибо

Dmitry
28.06.2017
15:38:23
@qnikst а имеет смысл избавляться от foldl-ов? их небось всё равно оптимизатор оптимизирует

Dmitry
28.06.2017
15:45:06
т.е имеет смысл?

Oleg
28.06.2017
15:45:21
валятся стэковерфлоу

просто меняешь на foldl'

Dmitry
28.06.2017
15:46:27
ничего не валится, но попроую убрать и посмотрю что получится

Oleg
28.06.2017
15:47:24
ничего не валится, но попроую убрать и посмотрю что получится
ну потому что по дефолту стэк в GHC гигантский и свалить в нормальном приложении его непросто, зато на задачке на codeforces легко можно почувствовать разницу

Google
Alexander
28.06.2017
15:52:48
optparse-applicative если аппликативные и position free

@voidlizard от foldl-ов имеет

никто их не оптимизирует

Oleg ну стек маленький, но расширяемый (блин как это называется), в общем блоками он

Dmitry
28.06.2017
15:54:39
я давно этого не делал, но смутно помню, что все мои попытки заменять foldl на foldl' заканчивались ничем, т.е никакого профита не давали

Oleg
28.06.2017
15:56:08
Oleg ну стек маленький, но расширяемый (блин как это называется), в общем блоками он
я помню, когда у меня вывалился, ghc сказал что я потратил 16 MB или типа того, что гораздо больше стеков во всяких strict языках

Alexander
28.06.2017
15:56:23
ну есть сишный стек

его тоже можно потратить, но его тратит далеко не все

сейчас его таки сделали ограниченным, раньше не так было

можно через -K задать

Oleg
28.06.2017
16:00:18
можно через -K задать
вот вот, он мне так же сказал, когда вывалилс

Alexander
28.06.2017
16:00:30
qnikst@qwork ~ $ ./1 +RTS -K1M 1: Stack space overflow: current size 33624 bytes. 1: Use `+RTS -Ksize -RTS' to increase it. qnikst@qwork ~ $ ./1 +RTS -K10M 1: Stack space overflow: current size 33624 bytes. 1: Use `+RTS -Ksize -RTS' to increase it. qnikst@qwork ~ $ ./1 +RTS -K100M 1: Stack space overflow: current size 33624 bytes. 1: Use `+RTS -Ksize -RTS' to increase it.

неожиданно

на програмке которая жрет стек

qnikst@qwork ~ $ cat 1.hs import Data.List main = print $ foldr (+) 0 [1..100000000]

Artyom
28.06.2017
16:13:04
как на арче скомпилировать библиотеку со старым GHC (7.6, например)?

? animufag ?
28.06.2017
16:21:40
(точно не помогу) проблема в том что неоткуда достать старый ghc?

Artyom
28.06.2017
16:22:10
проблема в том, что а) неоткуда достать старый ghc, б) я не знаю, как сказать кабалу/стеку использовать старый ghc

? animufag ?
28.06.2017
16:27:52
кажется все эти lts начинают с ghc 7.8 хотя опция выбора ghc там вроде была. например когда используешь ghcjs

https://docs.haskellstack.org/en/stable/yaml_configuration/#compiler

Google
? animufag ?
28.06.2017
16:32:55
но вообще это более глобальная проблема у арча: что делать если нужна версия постарее. я когда то решил что проще будет собрать самому, чем разбираться, а потом перешёл на убунту

Dmitry
28.06.2017
16:33:28
как на арче скомпилировать библиотеку со старым GHC (7.6, например)?
А зачем компилировать со старым ghc? Насколько актуально вообще поддерживать настолько старый ghc?

Artyom
28.06.2017
16:37:17
если честно, я не знаю, насколько актуально. Ну и когда его хоть немножко сложно поддерживать, я его не поддерживаю но обычно у меня главный источник трудностей – то, что приходится билда на тревисе долго ждать, чтобы какой-нибудь ворнинг пофиксить :) если смогу локально тестить, станет легко поддерживать

Alexander
28.06.2017
16:38:32
@lightgreen поставить в префикс генту, а дальше понятно

вместо генты можно nix

кабалу просто - with-ghc

со стеком хуже, надо найти подходящий снапшот, где этот ghc

? animufag ?
28.06.2017
16:39:44
кажется все эти lts начинают с ghc 7.8 хотя опция выбора ghc там вроде была. например когда используешь ghcjs

https://docs.haskellstack.org/en/stable/yaml_configuration/#compiler

Alexander
28.06.2017
16:40:06
зато если найти есть шанс что он даже ghc поставит (но не очень большой, скорее всего системные либы с которыми он хочет линковаться - поедут, я не думаю, что для бинарных релизов они делают кучу вариантов ghc

Artyom
28.06.2017
16:40:59
о, я нашёл, что в AUR есть все версии (7.4 – 7.10) теперь с with-ghc будет всё ок, наверно спасибо

Ilya
28.06.2017
20:10:41
А здесь есть кто-нибудь, кто писал больше 10k loc на Haskell'е в каком-нибудь проекте?

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