
Alexander
03.04.2018
10:48:58
в итоге у тебя во внутреннем цикле не хранится ссылка на разворачиваемую функцию, а на обертку fix
у Ромы был пост про двойной цикл
с выводом AAAA ужас
а использовал бы fix - сразу все хорошо

Google

Anatolii
03.04.2018
10:50:02
я раньше использование фикс видел только в докладе у spj
там он предложил в ghci ввести fix error
а за последнеюю неделю уже 2 послезных кейса увидел

Alexander
03.04.2018
10:53:37
я постоянно вижу полезные кейсы, потом смотрю результат и переписываю на let :(

Alister
03.04.2018
10:56:19

Dmitry
03.04.2018
11:01:11

Alexander
03.04.2018
11:01:29
+
worker написанный с fix просто работает

kana
03.04.2018
11:08:29

Evgeny
03.04.2018
11:09:44
/home/basov/ldap
syslog1.mon.m
бери и удаляй
я попробовал положить поле в userPKSC или как там его
и в userMIME..

Google

Evgeny
03.04.2018
11:10:23
там и там можно спокойно держать ключ
ты хотел поле? Вот оно и есть

? animufag ?
03.04.2018
11:11:15
это реально работает всё?

Leonid
03.04.2018
11:11:37
такое впечатление что автор Jose делал всё что-бы из репла было невозможно использовать его апи

Anatolii
03.04.2018
11:12:00
я когда выбирал библиотечку для jwt
я в какой-то ад попал
я не понимал почему так сложно все
там ключи из файла вычитать уже проблема

Leonid
03.04.2018
11:12:43
сраный ад
MonadTime
вот что мешает ему брать всё это в аргументах? Нет, сделай мне монадку

Anatolii
03.04.2018
11:13:45
но я вроде выбрал что-то без MonadTime

Leonid
03.04.2018
11:14:09
а та что без, не умеет мою любимую кривую эдвардса

Alexander
03.04.2018
11:14:38
jose судя по jwt.io больше умеет
а ещё его сервант его использует
я сначала jwt использовал но как на сервант перешли, перевел все на jose
а в ghci же IO
для его есть инстанс MonadTime?

Anatolii
03.04.2018
11:15:56
да
я вот тоже на jose

Google

Anatolii
03.04.2018
11:16:23
я кстати пока так и не прикрутил чтобы ключи из файлов вычитывать

Leonid
03.04.2018
11:17:50

Alexander
03.04.2018
11:18:28
ну разве что тебе runEitherT надо сделать

Dmitry
03.04.2018
11:21:07
А {-# INLINE somefunc #-} только на внешние функции может подействовать? На те, что в where, он же не действует? В компиляторе 8.0.2

Alexander
03.04.2018
11:23:00
угу

Leonid
03.04.2018
11:23:04

Alexander
03.04.2018
11:23:12
но это не значит, что компилятор не будет ничего инлайнить
+

Ilya
03.04.2018
11:44:22
По какому же тогда принципу раскиданы модули в Control.* и в Data.* в Haskell Hierarchical Libraries? Если выше писали, что список, Either, Maybe это control структуры, но там они всё же в Data

A64m
03.04.2018
11:46:48
ни по какому, примерно аналогичные библиотеки есть и в Control и в Data, к примеру lens и data-lens, foldl и folds

Dmitry
03.04.2018
11:47:46
А при помощи Template Haskell можно же сгенерировать прагмы? Например, сгенерировать someFunc и к ней {-# INLINE someFunc #-}?

Alexander
03.04.2018
11:48:30
PragmaD Pragma
{ {-# INLINE [1] foo #-} }
https://hackage.haskell.org/package/template-haskell-2.13.0.0/docs/Language-Haskell-TH-Syntax.html#t:Dec

Dmitry
03.04.2018
11:48:45
Спасибо

Alexander
03.04.2018
11:48:57
https://hackage.haskell.org/package/template-haskell-2.13.0.0/docs/Language-Haskell-TH-Syntax.html#t:Pragma

Ilya
03.04.2018
11:49:13

Dmitry
03.04.2018
11:49:36
Да я просто с TH мало сталкивался, сейчас предстоит волнующее погружение...

Alexander
03.04.2018
11:50:11
на сайте описано было где-то
я не представляю разумного описания

Dmitry
03.04.2018
11:50:56
Да ссылки с туторилами накоплены, разберусь. Мне просто надо было узнать точно, прагмы можно или нет. Теперь ясно.

Google

Mikhail
03.04.2018
11:51:23
Подскажите, а с помощью stack можно билдить под другую платформу? А то распберри слишком долго собирает

Alexander
03.04.2018
11:52:33
тут даже не в стеке вопрос, вроде с кросскомпиляцией все плохо было, но я лично с ней не сталкивался

Dmitry
03.04.2018
11:55:19

Mikhail
03.04.2018
11:56:23

A64m
03.04.2018
11:57:46
но это скорее всего не сработает
потому что там, наверное, какое-то допиливание библиотек надо, есть специальный слой хекеджа для этого
а чтоб его использовать надо new-build

IC
03.04.2018
11:58:38
https://wiki.haskell.org/Raspberry_Pi (впрочем там похоже старьё совсем)

Mikhail
03.04.2018
12:24:08
А в чём проблема кросскомпиляции, если имеется есть компилятор под нужную платформу? Просто запустить его, чтобы он выдал файл с нужными для целевой платформы инструкциями

A64m
03.04.2018
12:34:21
"официальные" ghc собирают для той платформы на которой работают
т.е. "официально" никакой кросскомпиляции для гхц нет

Dmitry
03.04.2018
12:41:48
И за это мы порицаем
И негодуем

A64m
03.04.2018
12:42:48
ну какие-то страдальци ее вечно пилят, может быть допилят уже наконец.

Pineapple
03.04.2018
13:04:23

Dmitry
03.04.2018
13:12:41
А почему компилятор не может догадаться poll = return () >> poll в цикл превратить?

Pineapple
03.04.2018
13:15:20
Не знаю. Наверное он недостаточно умный

Дмитрий
03.04.2018
13:17:20
А унас точно нет никакого способа поднимать значения на уровень типов?
Чтобы

Google

Дмитрий
03.04.2018
13:17:34
type A 1 = Int
type A 2 = Char
???

Leonid
03.04.2018
13:17:57
синглетонс

Alexander
03.04.2018
13:18:30
можно взять в качестве 1 и 2 числа черча, сделанные из типов
в порядке наркомании

Дмитрий
03.04.2018
13:18:44

A64m
03.04.2018
13:19:30
для для чисел-то и singletons не надо, это из коробки есть уже

Alexander
03.04.2018
13:19:37
хмммм

Alexander
03.04.2018
13:19:52
GHC.TypeLits

Alexander
03.04.2018
13:19:54
а сделаю ка я себе тип "число от A до B" на числах черча
чисто поржать

Alexander
03.04.2018
13:20:27
на числах черча все будет тормозить и плохо работать
можно с Nat но это ад ещё тот и тоже неюзабельно
проще взять LiquidHaskell там человечно все

Alexander
03.04.2018
13:21:06
так ради наркомании

Дмитрий
03.04.2018
13:21:23
Не ну мне нужно что-то вроде...
data T where T :: C t => t -> T
data T1 = T1
data T2 = T2
class C t where
fromInt :: Int -> t
instance C T1
instance C T2

Alexander
03.04.2018
13:21:55
s/fromInt/fromNat/

Дмитрий
03.04.2018
13:21:56
а потом имея Int так хоп (decode :: T)