Evgeny
и в userMIME..
Evgeny
там и там можно спокойно держать ключ
Evgeny
ты хотел поле? Вот оно и есть
Влод
это реально работает всё?
Leonid 🦇
такое впечатление что автор Jose делал всё что-бы из репла было невозможно использовать его апи
Anatolii
я когда выбирал библиотечку для jwt
Anatolii
я в какой-то ад попал
Anatolii
я не понимал почему так сложно все
Anatolii
там ключи из файла вычитать уже проблема
Leonid 🦇
сраный ад
Leonid 🦇
MonadTime
Leonid 🦇
вот что мешает ему брать всё это в аргументах? Нет, сделай мне монадку
Anatolii
но я вроде выбрал что-то без MonadTime
Leonid 🦇
а та что без, не умеет мою любимую кривую эдвардса
Alexander
jose судя по jwt.io больше умеет
Alexander
а ещё его сервант его использует
Alexander
я сначала jwt использовал но как на сервант перешли, перевел все на jose
Alexander
а в ghci же IO
Alexander
для его есть инстанс MonadTime?
Anatolii
да
Anatolii
я вот тоже на jose
Anatolii
я кстати пока так и не прикрутил чтобы ключи из файлов вычитывать
Alexander
ну разве что тебе runEitherT надо сделать
Dmitry
А {-# INLINE somefunc #-} только на внешние функции может подействовать? На те, что в where, он же не действует? В компиляторе 8.0.2
Alexander
угу
Alexander
но это не значит, что компилятор не будет ничего инлайнить
Alexander
+
Ilya
По какому же тогда принципу раскиданы модули в Control.* и в Data.* в Haskell Hierarchical Libraries? Если выше писали, что список, Either, Maybe это control структуры, но там они всё же в Data
A64m
ни по какому, примерно аналогичные библиотеки есть и в Control и в Data, к примеру lens и data-lens, foldl и folds
Dmitry
А при помощи Template Haskell можно же сгенерировать прагмы? Например, сгенерировать someFunc и к ней {-# INLINE someFunc #-}?
Alexander
PragmaD Pragma
{ {-# INLINE [1] foo #-} }
Alexander
https://hackage.haskell.org/package/template-haskell-2.13.0.0/docs/Language-Haskell-TH-Syntax.html#t:Dec
Dmitry
Спасибо
Alexander
https://hackage.haskell.org/package/template-haskell-2.13.0.0/docs/Language-Haskell-TH-Syntax.html#t:Pragma
Ilya
Dmitry
Да я просто с TH мало сталкивался, сейчас предстоит волнующее погружение...
Alexander
на сайте описано было где-то
Alexander
я не представляю разумного описания
Dmitry
Да ссылки с туторилами накоплены, разберусь. Мне просто надо было узнать точно, прагмы можно или нет. Теперь ясно.
Mi Shа
Подскажите, а с помощью stack можно билдить под другую платформу? А то распберри слишком долго собирает
Alexander
тут даже не в стеке вопрос, вроде с кросскомпиляцией все плохо было, но я лично с ней не сталкивался
Dmitry
Mi Shа
A64m
но это скорее всего не сработает
A64m
потому что там, наверное, какое-то допиливание библиотек надо, есть специальный слой хекеджа для этого
A64m
а чтоб его использовать надо new-build
IC
https://wiki.haskell.org/Raspberry_Pi (впрочем там похоже старьё совсем)
Mi Shа
А в чём проблема кросскомпиляции, если имеется есть компилятор под нужную платформу? Просто запустить его, чтобы он выдал файл с нужными для целевой платформы инструкциями
A64m
"официальные" ghc собирают для той платформы на которой работают
A64m
т.е. "официально" никакой кросскомпиляции для гхц нет
Dmitry
И за это мы порицаем
Dmitry
И негодуем
A64m
ну какие-то страдальци ее вечно пилят, может быть допилят уже наконец.
Dmitry
А почему компилятор не может догадаться poll = return () >> poll в цикл превратить?
Алексей
Не знаю. Наверное он недостаточно умный
Дмитрий
А унас точно нет никакого способа поднимать значения на уровень типов?
Дмитрий
Чтобы
Дмитрий
type A 1 = Int
Дмитрий
type A 2 = Char
Дмитрий
???
Leonid 🦇
синглетонс
Alexander
можно взять в качестве 1 и 2 числа черча, сделанные из типов
Alexander
в порядке наркомании
Дмитрий
синглетонс
И я их смогу считывать динамически?
Дмитрий
A64m
для для чисел-то и singletons не надо, это из коробки есть уже
Alexander
хмммм
Alexander
GHC.TypeLits
Alexander
а сделаю ка я себе тип "число от A до B" на числах черча
Alexander
чисто поржать
Alexander
на числах черча все будет тормозить и плохо работать
Alexander
можно с Nat но это ад ещё тот и тоже неюзабельно
Alexander
проще взять LiquidHaskell там человечно все
Alexander
так ради наркомании
Дмитрий
Не ну мне нужно что-то вроде...
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
s/fromInt/fromNat/