@haskellru

Страница 1053 из 1551
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
у Ромы был пост про двойной цикл
Это: https://ro-che.info/articles/2017-01-10-nested-loop-space-leak ?

Alexander
03.04.2018
11:01:29
+

worker написанный с fix просто работает

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
для его есть инстанс MonadTime?
А ещё инстанс JWKStore и MonadError e m, AsError e

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
ну разве что тебе runEitherT надо сделать
ну а нормально можно было бы сделать verify :: JWKStore s, HasWhatever a => UTCTime -> s -> a -> ClaimSomething -> Either Error Whatever

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
Подскажите, а с помощью stack можно билдить под другую платформу? А то распберри слишком долго собирает
А эмуляторы этой архитектуры есть? Можно попробовать в них собрать на быстрой машине.

Mikhail
03.04.2018
11:56:23
А эмуляторы этой архитектуры есть? Можно попробовать в них собрать на быстрой машине.
Звучит как костыль) А что искать - эмулятор процессора или всего устройства?

A64m
03.04.2018
11:57:46
Подскажите, а с помощью stack можно билдить под другую платформу? А то распберри слишком долго собирает
взять кросскомпилятор отсюда http://hackage.mobilehaskell.org/ (это все сильно экспериментально), указать стеку чтоб пользовался им

но это скорее всего не сработает

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

а чтоб его использовать надо 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
Это: https://ro-che.info/articles/2017-01-10-nested-loop-space-leak ?
Там в poll ошибка. Его надо писать как poll = let x = return () >> x in x тогда всё это компилируется в цикл без аллокаций ну или через fix. В forever точно такая же прроблема была

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)

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