@haskellru

Страница 259 из 1551
Alexander
05.05.2017
14:41:28
но это как-то печально

можно попробовать исправить клиента конечно

наверное это будет правильно

Misha
05.05.2017
14:44:10
печально, но если кроме как "все ссылки пропали" другого условия нет, то это только GC может знать

Google
Misha
05.05.2017
14:44:27
а как сделано в distributed-processes?

там же похожую задачу надо решать

Anton
05.05.2017
15:31:21
/you

? animufag ?
05.05.2017
15:34:16
какой был бы эффект если бы работало? и почему все это проверяют в чатах

Warren
05.05.2017
15:47:45
/you

бля

нажал случайно

вот наверное почему

Alexander
05.05.2017
16:01:06
вообще там есть финализаторы на всякие каналы

Misha
05.05.2017
16:05:07
а всякие monitoring events как приходят тогда?

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

а, это я туплю, там же все в Process завернуто, так что можно все что угодно сделать

Google
Alexander
05.05.2017
16:17:12
а где почитать про првильное использование SomeAsyncExceptions?

а то лень в сырцы лезть, а в хаддоках не все ясно

которое в районе 8.0 появилось

blkmrkt
05.05.2017
20:12:33
Ниче так, но ИМХО аддон к IDEA - получше его
хмм, настроил снова VS Code с плагинами, вроде бы все ок. Еще и лигатуры есть

вот только не хватает go to definition по правому клику, чтоб понять откуда у ф-ии ноги

Дмитрий
05.05.2017
20:28:21
И ещё чисто с клавиатуры Ctrl + F12

? animufag ?
05.05.2017
20:30:26
и так на всех?

если loop на следующей строке нажать он сообразит?

? animufag ?
05.05.2017
20:34:01
ну я так интересуюсь скорее. @ZeroBias думаю настраивал vscode с хаскелом

blkmrkt
05.05.2017
22:05:02
вот поставил VS Code + Haskero, вообще топ

? animufag ?
05.05.2017
22:07:53
ну у него хотя бы коммиты свежие

это полная замена плагину ghc-mode?

Alexey
06.05.2017
11:13:22
вот поставил VS Code + Haskero, вообще топ
А ты с атомом сравнивал? Я какое-то время назад играл. И показалось, что VSCode+Haskero быстрее, но менее функционален, чем атом с ghc-mod и прочими плагинами. Вернулся в атом. Если теперь VS и быстрее, и умнее, то это здорово.

Google
Alexey
06.05.2017
11:16:46
да у меня в атоме тоже все из коробке работал, но какой-то он медленный очень
В VS помню меня рассердило, что если goto definition нажать, то ничего не происходило. И я тогда начинал сам искать, листать файлы. И вдруг, бац, и goto сработал. А мне может и не надо уже.

Тёма
06.05.2017
11:19:00
Может он индексы строит, потому и не работает. А потом построил и начал работать.

Не пользовался vs в принципе

Arseniy
06.05.2017
11:25:25
vim..

Евгений
06.05.2017
11:39:13
А чо кто neovim-haskell ставил?

blkmrkt
06.05.2017
11:43:00
говорят с емаксом лучший иде хаскеля, но я с ним не справился. Точнее все настроил, но слишком сложный интерфейс

Aleh
06.05.2017
11:44:20
Anton
06.05.2017
12:39:04
О, что за шрифт?

blkmrkt
06.05.2017
12:39:32
Anton
06.05.2017
12:40:48
Спасибо, приглянулся мне)

A
06.05.2017
13:09:06
крайне приятный и кастомизируемый шрифтец. сам на нем сижу давно

Boris
06.05.2017
18:56:02
Хаха



Alexander
07.05.2017
18:22:41
Привет, подсажите как прочитать три числа из входного потока ? То есть входные даныые 6 6 4. Нужно прочитать числа. Какие функции использовать ?

Dmitry
07.05.2017
18:30:23
fmap read . words <$> getContents

fmap read . take 3 . words <$> getContents

blkmrkt
07.05.2017
18:32:04


Alexander
07.05.2017
18:43:47
или getLine если принципиально что они в одной строке и дальше вычитывать не надо

Google
Alexander
07.05.2017
18:45:34
В одной строке должны нахдиться это условие задачи.

fmap read . take 3 . words <$> getContents
n <- fmap read . take 3 . words <$> getContents так записать нельзя. как правильно ?

Dmitry
07.05.2017
18:50:52
λ> n <- fmap read . take 3 . words <$> getLine :: IO [Int] 12 3 4 λ> n [12,3,4] λ>

Alexander
07.05.2017
18:52:13
спасибо

Oleg
07.05.2017
19:27:39
import qualified Data.ByteString.Char8 as BS -- getInts::IO [Int] -- getInts = fmap (unfoldr readOne) BS.getLine where -- readOne s = do -- (x , s') <- BS.readInt s -- return (x, BS.drop 1 s') getInts::IO [Int] getInts = go <$> BS.getLine where go s = case BS.readInt s of Nothing -> [] Just (x, s') -> x : go (BS.drop 1 s') getInt::IO Int getInt = do line <- BS.getLine let Just (x, _ ) = BS.readInt line return x getInt2::IO (Int,Int) getInt2 = do line <- BS.getLine let Just (x, l') = BS.readInt line Just (y, _) = BS.readInt $ BS.drop 1 l' return (x,y) getInt3::IO (Int,Int, Int) getInt3 = do line <- BS.getLine let Just (x, l') = BS.readInt line Just (y, l'') = BS.readInt $ BS.drop 1 l' Just (z, _) = BS.readInt $ BS.drop 1 l'' return (x,y,z)

Alexander
07.05.2017
19:43:41
надеюсь, не спортивное программирование?
онo самое. Задачи, которые решаются элементарно на с++ пока очень сложно решаются на haskell.

http://codeforces.com/problemset

Oleg
07.05.2017
19:46:15
На хакерранке ещё вытянул бы, а на кодфорсес - используй что угодно, кроме read

везде, где input начинается от 10^5

Vladimir
07.05.2017
19:48:18
read супермедленный
у меня лишь только в одной спортивной задачке медленный cin из C++ был ботлнеком. далеко не во всех задачах подразумевается гигантский инпут

Oleg
07.05.2017
19:49:22
у меня лишь только в одной спортивной задачке медленный cin из C++ был ботлнеком. далеко не во всех задачах подразумевается гигантский инпут
я говорю конкретно о haskell конкретно о codeforces, конкретно об input начиная с 10^5, на опыте полученном болью

Vladimir
07.05.2017
19:50:11
зачем вообще эти задачи на хаскеле решать? одно мучение

Oleg
07.05.2017
19:50:30
отнюдь

dp на хаскеллевских array вообще офигенно выглядит

Vladimir
07.05.2017
19:51:43
на списках тоже можно вроде))

Oleg
07.05.2017
19:52:19
на списках тоже можно вроде))
только очень простое

Google
Oleg
07.05.2017
19:57:20
import qualified Data.ByteString.Char8 as BS -- getInts::IO [Int] -- getInts = fmap (unfoldr readOne) BS.getLine where -- readOne s = do -- (x , s') <- BS.readInt s -- return (x, BS.drop 1 s') getInts::IO [Int] getInts = go <$> BS.getLine where go s = case BS.readInt s of Nothing -> [] Just (x, s') -> x : go (BS.drop 1 s') getInt::IO Int getInt = do line <- BS.getLine let Just (x, _ ) = BS.readInt line return x getInt2::IO (Int,Int) getInt2 = do line <- BS.getLine let Just (x, l') = BS.readInt line Just (y, _) = BS.readInt $ BS.drop 1 l' return (x,y) getInt3::IO (Int,Int, Int) getInt3 = do line <- BS.getLine let Just (x, l') = BS.readInt line Just (y, l'') = BS.readInt $ BS.drop 1 l' Just (z, _) = BS.readInt $ BS.drop 1 l'' return (x,y,z)

Dmitry
07.05.2017
19:58:20
На Haskell может хотеться решать задачи ради челленджа, чтобы узнать получше язык и, возможно, доказать (себе или всем остальным), что на нём можно писать олимипадные задачи. Например, техника ленивого динамического программирования очень изящная и простая: http://jelv.is/blog/Lazy-Dynamic-Programming/ Другое дело, что на codeforces используется следующая команда для компиляции решений на Haskell (не говоря уже о том, что компилятор вообще 7.8.3): ghc --make -O %s А это значит, что никакого эффективного представления текста, никаких структур данных типа Map или HashMap, даже монады State нет и прочего. Поэтому про серьёзное олимпиадное программирование задач на производительность с большими ограничениями можно забыть. Все эти вещи (ну, кроме монады State) в остальных привычных для олимпиадного программирования языках просто уже находятся в стандартной библиотеке. То есть данная система тупо не учитывает особенности экосистемы языка. К сожалению, я не видел хорошей в этом плане платформы для решения олимпиадных задач на Haskell :(

Так как все эти вещи не в base, а в различных библиотека

Artyom
07.05.2017
20:00:16
containers вроде точно где-то давали использовать то ли на spoj, то ли на CF

Oleg
07.05.2017
20:05:59
На Haskell может хотеться решать задачи ради челленджа, чтобы узнать получше язык и, возможно, доказать (себе или всем остальным), что на нём можно писать олимипадные задачи. Например, техника ленивого динамического программирования очень изящная и простая: http://jelv.is/blog/Lazy-Dynamic-Programming/ Другое дело, что на codeforces используется следующая команда для компиляции решений на Haskell (не говоря уже о том, что компилятор вообще 7.8.3): ghc --make -O %s А это значит, что никакого эффективного представления текста, никаких структур данных типа Map или HashMap, даже монады State нет и прочего. Поэтому про серьёзное олимпиадное программирование задач на производительность с большими ограничениями можно забыть. Все эти вещи (ну, кроме монады State) в остальных привычных для олимпиадного программирования языках просто уже находятся в стандартной библиотеке. То есть данная система тупо не учитывает особенности экосистемы языка. К сожалению, я не видел хорошей в этом плане платформы для решения олимпиадных задач на Haskell :(
есть там containers, нормально часто Map и IntMap Заходит, да и State

Alexander
07.05.2017
20:19:08
и vectors

а то иначе приходится использовать array для которого ни одного разумного довода в 2017 нет

Dmitry
08.05.2017
04:13:21
а какой смысл решать спортивные задачи на языке, которого не знаешь?

Alexander
08.05.2017
04:28:20
не использовать как data structure, как control норм

Alexander
08.05.2017
07:46:50
а какой смысл решать спортивные задачи на языке, которого не знаешь?
я не знаю способа изучить язык, не использовав его, а решение задач хоть какая то тренировка

Dmitry
08.05.2017
07:48:51
ну просто вряд ли достишнешь высоких резутьтатов на языке, которым не владеешь. если же это просто для практики, то это ок, конечно.

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