Size: a a a

2021 February 18

VD

Velvet Darkness in Haskell
Ответ древний, но там какая-то тулза которая умеет 🤔 А дальше по идее просто создаешь сорс из локальных док.
источник

LV

Lisa Vasilenko in Haskell
Кто-то знает как работает safe import? Я заменила base на liquid-base-4.14.1.0 в зависимостях, и компилятор стал выдавать ошибки, хотя Hackage пишет, что импортируемый мной модуль является Safe-Inferred с точки зрения Safe Haskell...

Ошибка вот:
.../eccrypto/src/Crypto/Fi.hs:40:1: error:
   Data.Bits: Can't be safely imported! The module itself isn't safe.
  |
40 | import safe qualified Data.Bits as B (Bits(..),shift,(.&.))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Импортирую Data.Bits https://hackage.haskell.org/package/liquid-base-4.14.1.0/docs/Data-Bits.html
источник

MK

Maxim Koltsov in Haskell
А что, ликвид хаскель требует эти сейф аннотации?
источник

LV

Lisa Vasilenko in Haskell
Я требую :)
источник

LV

Lisa Vasilenko in Haskell
То есть они были раньше и хорошо работали, и я не понимаю, почему сломались
источник

LV

Lisa Vasilenko in Haskell
Библиотека для криптографии, хотелось бы быть safe и ещё ликвид хаскель поверх запустить
источник

K

Kir in Haskell
Lisa Vasilenko
То есть они были раньше и хорошо работали, и я не понимаю, почему сломались
А в самом импортируемом Data.Bits сказано, что он Safe?
источник

LV

Lisa Vasilenko in Haskell
Kir
А в самом импортируемом Data.Bits сказано, что он Safe?
Для liquid-base Hackage пишет вот такое:
источник

LV

Lisa Vasilenko in Haskell
Обычный Data.Bits из base помечен как Trustworthy
источник

K

Kir in Haskell
> https://hackage.haskell.org/package/base-4.14.1.0/docs/src/Data.Bits.html

{-# LANGUAGE Trustworthy #-}


> https://hackage.haskell.org/package/liquid-base-4.14.1.0/docs/src/Data.Bits.html

module Data.Bits ( module Exports ) where

import "base" Data.Bits as Exports


Странно, он должен быть inferred-safe
источник

LV

Lisa Vasilenko in Haskell
Да :(
источник

LV

Lisa Vasilenko in Haskell
Может на самом деле в каком-то другом модуле проблема, просто ошибка вылезает именно в этом импорте
источник

LV

Lisa Vasilenko in Haskell
Если убрать safe в этом импорте, он начинает жаловаться на Data.Word и Prelude, которые тоже импортируются через safe import
источник

JS

Jerzy Syrowiecki in Haskell
вообще не представляю, что этот скрипт делает
источник

JS

Jerzy Syrowiecki in Haskell
спасибо, пробую
источник

MK

Maxim Koltsov in Haskell
Lisa Vasilenko
Если убрать safe в этом импорте, он начинает жаловаться на Data.Word и Prelude, которые тоже импортируются через safe import
Вообще я краем уха слышал, что всё safe развлечение не очень работает
источник

MK

Maxim Koltsov in Haskell
Никто этим толком не занимается
источник

LV

Lisa Vasilenko in Haskell
Maxim Koltsov
Вообще я краем уха слышал, что всё safe развлечение не очень работает
Тем легче. Я в итоге не нашла другого способа всё собрать, кроме как убрать эти safe импорты
источник

AP

Artem Pelenitsyn in Haskell
Lisa Vasilenko
Кто-то знает как работает safe import? Я заменила base на liquid-base-4.14.1.0 в зависимостях, и компилятор стал выдавать ошибки, хотя Hackage пишет, что импортируемый мной модуль является Safe-Inferred с точки зрения Safe Haskell...

Ошибка вот:
.../eccrypto/src/Crypto/Fi.hs:40:1: error:
   Data.Bits: Can't be safely imported! The module itself isn't safe.
  |
40 | import safe qualified Data.Bits as B (Bits(..),shift,(.&.))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Импортирую Data.Bits https://hackage.haskell.org/package/liquid-base-4.14.1.0/docs/Data-Bits.html
Звучит как норм ишуй для ликвид-бейса. Так-то Максим, конечно, прав, но если есть какое-то свободное время, то я бы покопал ещё.
источник

LV

Lisa Vasilenko in Haskell
Artem Pelenitsyn
Звучит как норм ишуй для ликвид-бейса. Так-то Максим, конечно, прав, но если есть какое-то свободное время, то я бы покопал ещё.
Я подозреваю, что проблема в том, что у модуля Prelude.Liquid.Num из liquid-base статус None по мнению Safe Haskell. При том что весь код модуля – импорт GHC.Num, который объявлен Trustworthy....
источник