@haskellru

Страница 1318 из 1551
Yuriy
02.07.2018
07:20:16
@astynax, спасай

и process

можно взять более старый lts, наверно

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

Google
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
плюс есть inline-c
ах да, плюс inline-cpp

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
LTS-12 будет с 8.4 или опять с 8.2?
https://www.stackage.org/blog/2018/06/upcoming-lts-12-ghc-8-4-3

Aleksey
02.07.2018
08:45:44
А это и был топ левел
Это не был top-level

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
А это и был топ левел
топ левел это что можно вывести с ghci

Aleksey
02.07.2018
08:55:35
нет, в ghci можно делать байнд

В GHCi всё находится в неявном do-блоке монады IO

Но специфическом - объявлять типы можно, например

Yuriy
02.07.2018
08:59:18
top level, это module Foo where a :: Int a = unsafePerformIO $ randomRIO (0, 10)
вот ему сейчас это скорее помешает. не надо сразу все краевые случаи вываливать

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

Google
Yuriy
02.07.2018
09:01:27
Тут любят советовать unsafePerformIO, вот от этого получаются подобные казусы
общее правило — unsafe не нужен (если он тебе действительно нужен, ты не будешь спрашивать в чате)

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
@qnikst ^
клапауций верно сказал

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/

Yuriy
02.07.2018
11:01:36
..without an accompanying proof
это только для профессионалов такое послабление

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

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

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

(простите)

Yuriy
02.07.2018
11:21:10
Эквациональные рассуждения?
да, именно так переводили до сих пор

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