Cheese
stack upgrade должен был выругаться про PATH
Mish
Спасибо. Все гораздно проще. Я сделал sudo apt-get install haskell-stackа надо было не умничать и сделать как на офф сайте curl -sSL https://get.haskellstack.org/ | sh
Aleksei (astynax)
sudo apt-get install haskell-stack это нормальный путь. Просто нужно ставить из ppa
Aleksei (astynax)
У мну стоит из fpcomplete ppa. Но я делал upgrade, так что имею свежую версию в ~
Mish
значит, у тебя и дистрибутив старый
Все ок. Теперь 1.7.1 и все собралось
Alexander
Alexander
US Language Election
Aliester
это из двух?
Alexander
В США только две партии ;)
Vladimir
И это уже немало.
Maxim
стек такой стек, мдээээ
Oleg
специальная олимпиада
Oleg
смотрю, как и в основном зачёте, республиканцы ведут
Cheese
стек такой стек, мдээээ
как тебе это удалось вообще?
Maxim
ну как. запустил stack test просто
Ilya
+ Ix для удобства если очень хочется
как Ix к vector прикрутить? всё равно же придётся переделывать кучу функций для чтения, доступа, апдейта + добавлять проверку границ. или нет?
Alexander
переделывать не надо, а врапперы надо
Alexander
можно макросами
Ilya
а что, в хаскеле и макросы есть?:) в общем-то хотел найти пакет, где всё это уже сделано, в духе numpy.array
Ilya
repa как-то не вызвал желания начинать пользоваться:) возможно он сильно заточен на эффективность, поэтому так сложно выглядит
A64m
ну есть какие-то обертки над вектором для двухмерных массивов типа matrices
A64m
но вообще можно объявить пару функций чтоб писать и читать вектор через Ix-овые пересчитыватели индексов да и все
Ilya
но вообще можно объявить пару функций чтоб писать и читать вектор через Ix-овые пересчитыватели индексов да и все
+ проверку индексов ещё не забывать каждый раз делать. причём и для safe indexing, и для unsafe indexing это одинаково необходимо
A64m
так Ix проверяет же
Евгений
Хм, а в кабал-нью можно скриптово понять что куда поставилось? Хочется в контейнере PATH нормальный генерить
Leonid 🦇
new-install ещё не написали
Alexander
кстати есть утилита которая пути рассказывает где оно лежит
Cheese
stack path ;-)
A64m
new-install ещё не написали
вроде написали
Евгений
Удобно
Евгений
вроде написали
print "Up to date"
A64m
понятно
Евгений
Собственно оно больше ничего не умеет делать
A64m
Собственно оно больше ничего не умеет делать
не совсем. оно умеет ставить программы с хекеджа (не на виндовс), но не устанавливает программу из локального проекта. т.е. можно сделать cabal new-install hasktags, но не cabal new-install
Alexander
stack path ;-)
оно умеет показывать билд директорию?
Alexander
ту в которой будет лежать executable
Alexander
или билд артефакты от текущего билда
Maxim
кто мне покажет реальные юз кейсы для Iso?
Oleg
Iso' (m a) (m (m a))
adam
кто мне покажет реальные юз кейсы для Iso?
DSL и Интерпретаторы, вообще любое конвертирование изоморфных структур
Oleg
Iso' [a] (Maybe (NonEmptyList a)
Alexander
@graninas ты в твиттере есть?
adam
Iso' Lazy.ByteString Strict.ByteString Iso' (Node String String) (Node (QName String) String)
Alexander
ещё через Iso можно newtype поразворачивать
Maxim
"вообще любой" это так себе ответ на просьбу показать что-то конкретное =)
Oleg
ещё через Iso можно newtype поразворачивать
наверняка же есть какая-нибудь даже coercible::Coercible a b=>Iso' a b
Alexander
ну safe coerce есть
Alexander
@graninas ты в твиттере есть?
Есть, graninas Но я почти не пишу туда Вангую, ты хочешь передать эстафету backendsecret?
Alexander
Я так себешный твиттерчанин 😣
Alexander
не, я хочу меншонуть, когда про юзергруппы писать буду
Alexander
Окей
A64m
наверняка же есть какая-нибудь даже coercible::Coercible a b=>Iso' a b
https://hackage.haskell.org/package/lens-4.16.1/docs/Control-Lens-Iso.html#v:coerced
A64m
"вообще любой" это так себе ответ на просьбу показать что-то конкретное =)
так есть же в линзобиблиотеке примеры, не одни же типы написаны, так что не понятно о чем вопрос вообще?
Anatolii
так, я опять запустался с русскими символами
Anatolii
у меня есть строка с русскими буквами
Anatolii
я ее пакую в текст
Anatolii
и через Data.Text.IO в файл петатаю
Anatolii
в итоге вижу там \1058
Anatolii
import qualified Data.Text as T import qualified Data.Text.IO as TIO f = TIO.writeFile "coordstext" $ T.pack $ show $ ["ыы","пп"]
A64m
ну так show же
A64m
как иначе-то
Anatolii
так, погоди
Anatolii
это я сильнь сократил пример
Anatolii
ага, нет, не сократил, это я просто у себя претипринтером пользовался
Anatolii
и он по сути тоже самое мне сделал
A64m
ну претти-принтер видимо использует show или просто сделано так же как там из тех же соображений
Anatolii
да, он Show юзает
Anatolii
@A64m_qb0 я правильно понимаю что я могу после show запаковать в Bytestring и потом сделать decodeutf8 ?
Anatolii
в Text уже
A64m
нет
Anatolii
я что-то запутался - мы когда в байтстринг перевели - то получили же просто массив байт
Anatolii
почему из него нельзя восстановить utf8 ?
A64m
можно, конечно. но зачем?
Anatolii
ну мне хотелось бы вывод претипринтера в файл вывести:)
A64m
так результат show это аски просто, его сколько так не кодируй все одно и то же останется
Cheese
тут надо выбирать, мы хотим Юникод или отладочную печать