
Yuriy
02.07.2018
07:20:16
@astynax, спасай
и process
можно взять более старый lts, наверно

Alex
02.07.2018
07:21:26
Может попробывать другую гуишную либу?

Google

Yuriy
02.07.2018
07:22:00
попробуй

Alex
02.07.2018
07:23:44
Качает старый ghc
Сейчас посмотрим

Yuriy
02.07.2018
07:24:09
ну, не такой уж старый

Alex
02.07.2018
07:24:47
У меня еще такой вопрос, тяжело ли haskell линковать в С++?
Он же компилится в бинарник
По идее должно быть норм

Yuriy
02.07.2018
07:25:48
если кто-то за тебя не написал байндинг, то нелегко
в Хаскель встроен интерфейс вызова процедур из C, если из можешь экспортировать extern "C", дело сильно упрощается

Alex
02.07.2018
07:27:56
ЕСТЬ
Билдится
Спасибо большое:)

Google

Kirill
02.07.2018
07:28:25
плюс есть inline-c

Alex
02.07.2018
07:28:28
Возможно мне не придется линковать хаскель в плюсы

Kirill
02.07.2018
07:30:04
а, в другую сторону, тут inline-c мимо

Yuriy
02.07.2018
07:30:18

Alex
02.07.2018
07:30:35
Что это все такое?

Kirill
02.07.2018
07:30:38
но онож inline в смысле для втыкания в хаскель
main :: IO ()
main = do
x <- [C.block| int {
// Read and sum 5 integers
int i, sum = 0, tmp;
for (i = 0; i < 5; i++) {
scanf("%d", &tmp);
sum += tmp;
}
return sum;
} |]
print x

Yuriy
02.07.2018
07:31:31

Kirill
02.07.2018
07:32:01
@al_bl выше пример - втыкаем сишку прям в хаскельные сырцы

Alex
02.07.2018
07:35:37
Спасибо всем

Yurii
02.07.2018
08:06:55
Новый лайф-коддинг от Едварда
https://youtu.be/StmmK1a1Bm0

Aleksey
02.07.2018
08:30:10
Забавное:
flip flip flip ~ (flip ){4,}
дальнейшие flip не меняют тип

Alex
02.07.2018
08:33:30
Помогите пожалуйста
xs <- getArgs
str <- unsafePerformIO $ readFile $ (xs !! 0)
Где ошибка

Aleksey
02.07.2018
08:34:36
Воу! Зачем unsafePerformIO?
Всё в IO же и так
xs <- getArgs
str <- readFile $ (xs !! 0)

Alex
02.07.2018
08:35:05
У меня там дальше функция которая работает со стрингой а не ио стрингой

Google

Aleksey
02.07.2018
08:35:22
str, это String

Alex
02.07.2018
08:35:32
Точно
Блин
Thx

Aleksey
02.07.2018
08:37:32
unsafePerformIO не нужно делать никогда! Кроме тех случаев, когда это действительно нужно (ну очень редко и практически всегда - на top level)

Alex
02.07.2018
08:38:00
А это и был топ левел
Там все ок
Я просто забыл его убрать

IC
02.07.2018
08:38:12
LTS-12 будет с 8.4 или опять с 8.2?

Andrei
02.07.2018
08:39:02
8.4 вроде

Kirill
02.07.2018
08:44:38

Aleksey
02.07.2018
08:45:44

Aleksey
02.07.2018
08:46:13
top level, это
module Foo where
a :: Int
a = unsafePerformIO $ randomRIO (0, 10)
вот определение a - на top level находится

Ilya
02.07.2018
08:49:31

Aleksey
02.07.2018
08:55:35
нет, в ghci можно делать байнд
В GHCi всё находится в неявном do-блоке монады IO
Но специфическом - объявлять типы можно, например

Yuriy
02.07.2018
08:59:18

Aleksey
02.07.2018
09:00:14
Тут любят советовать unsafePerformIO, вот от этого получаются подобные казусы

Google

Aleksey
02.07.2018
09:01:03

Yuriy
02.07.2018
09:01:27

Aleksey
02.07.2018
09:01:46
ага

Alex
02.07.2018
09:03:10
Спасибо всем

Alister
02.07.2018
09:04:07
где в описании технологии какой читал

Alexander
02.07.2018
09:13:00
я не согласен с таким подходом, но ок
тут в канале любят говорить, что такая штука есть, но в этой задаче оно не нужно
и добавлять в какого рода задачах оно может быть нужно

Andrei
02.07.2018
09:15:01
unsafePerformIO в недрах Network.Socket есть. но и там оно форсится.

Admin
ERROR: S client not available

Yuriy
02.07.2018
09:17:49

Alexander
02.07.2018
09:18:53
когда я последний раз говорил про unsafePerformIO , спрашивали про задачу, которая именно им и решается, например
другое дело, что человек хотел не то, что спрашивал
но мое дело сказать что задача скорее всего не верна, что должна быть та, и решается так, а спрошенное тоже имеет решение
я помню как у меня бобмило, когда я пришел на #haskell спросить про #-обьекты, и мне там хором стали доказывать, что оно мне не надо
учитывая, что именно это мне и было нужно

Kirill
02.07.2018
09:24:29
а что такое "#-обьекты"?

Pineapple
02.07.2018
09:25:31
OverloadedLabels?

Kirill
02.07.2018
09:28:29
@qnikst ^

Google

A64m
02.07.2018
09:40:28
у которых тип кайнда # видимо

Kirill
02.07.2018
09:41:11
объекты ~ типы чтоль?

A64m
02.07.2018
09:42:24
значения, населяющие типы

Kirill
02.07.2018
09:45:12
а, значения, спсб

Leonid
02.07.2018
09:52:36
что-то Тони совсем подпалило https://github.com/tonymorris/do-not-use-stack

Alister
02.07.2018
09:57:28
лаконичность сестра таланта

Alexander
02.07.2018
09:58:37

Aleksey
02.07.2018
09:58:58

Yuriy
02.07.2018
10:20:29
политика одной хаскельной компании
Every programmer that uses unsafePerformIO without an accompanying proof will have to spend a night in the dungeon.
https://www.fpcastle.com/

Andrei
02.07.2018
10:50:14

Alexander
02.07.2018
11:00:34

Yuriy
02.07.2018
11:01:36

Kaidax
02.07.2018
11:08:19
Прямо сейчас удаляю стак

Leonid
02.07.2018
11:09:15

adam
02.07.2018
11:11:18

Warren
02.07.2018
11:13:22
может кто-нибудь подсказать хороший русский перевод для термина "equational reasoning"?

Dmitry
02.07.2018
11:16:44
Эквациональные рассуждения?
(простите)

Yuriy
02.07.2018
11:21:10