Size: a a a

2021 January 10

X

XÆA-XII in Haskell
Почему перестал работать haskell-language-server? Ещё вчера всё работало, а сегодня матерится:
ghcide compiled by GHC 8.8 failed to load packages: <command line>: cannot satisfy -package hellohaskell-0.1.0.0
   (use -v for more information).
Please ensure that ghcide is compiled with the same GHC installation as the project.cradle
источник

X

XÆA-XII in Haskell
Причём тут вообще ghcide?
источник

X

XÆA-XII in Haskell
У меня его вообще нет
источник

AP

Aleksei (astynax) Pi... in Haskell
Это зависимость
источник

YS

Yan Shkurinskiy in Haskell
Andrey
в моём странном кейсе плохо всё: и кабал, и стэк, и никс - они добавляют сложности к доступу к пакетам
И какой выход?(
источник

A

Andrey in Haskell
Yan Shkurinskiy
И какой выход?(
пока не вижу, кроме как костыли для работы со всеми
источник

ЗП

Зигохистоморфный Пре... in Haskell
из всех мне заходил только британи
источник

ЗП

Зигохистоморфный Пре... in Haskell
но его забросили я так понял
источник

X

XÆA-XII in Haskell
Aleksei (astynax) Pirogov
Это зависимость
Надо тогда вручную собрать hls и ghcide?
источник

ЗП

Зигохистоморфный Пре... in Haskell
кто-то видел permutations но для typelevel list?
источник

к

кана in Haskell
а что функция должна сделать?
источник

к

кана in Haskell
по имени могу предположить что проверить что два списка это перестановка друг друга
источник

к

кана in Haskell
или мб permutations
источник

ЗП

Зигохистоморфный Пре... in Haskell
Perm '[Either Int String, Maybe Int, MyType]
[Either Int String, Maybe Int, MyType]
[Either Int String, MyType, Maybe Int]
...
источник

ЗП

Зигохистоморфный Пре... in Haskell
все возможные перестановки
источник

AP

Aleksei (astynax) Pi... in Haskell
XÆA-XII
Надо тогда вручную собрать hls и ghcide?
Я не собираю, мне ghcup ставит
источник

X

XÆA-XII in Haskell
Aleksei (astynax) Pirogov
Я не собираю, мне ghcup ставит
Понял, спасибо
источник

к

кана in Haskell
Зигохистоморфный Препроморфизм
Perm '[Either Int String, Maybe Int, MyType]
[Either Int String, Maybe Int, MyType]
[Either Int String, MyType, Maybe Int]
...
permutations :: Eq a => [a] -> [[a]]
permutations [] = [[]]
permutations as = do
 a <- as
 ls <- permutations (delete a as)
 return $ a : ls

вот эта функция легко переписывается на тайплевел
источник

к

кана in Haskell
type family (xs :: [a]) ++ (ys :: [a]) :: [a] where
 '[] ++ ys = ys
 (x : xs) ++ ys = x : (xs ++ ys)

type family Delete (x :: a) (xs :: [a]) :: [a] where
 Delete _ '[] = '[]
 Delete x (x : xs) = xs
 Delete x (y : xs) = y : Delete x xs

type family MapCons (x :: a) (xs :: [[a]]) :: [[a]] where
 MapCons _ '[] = '[]
 MapCons x (xs : xss) = (x : xs) : MapCons x xss

type family Permutations_ (as :: [a]) (xs :: [a]) :: [[a]] where
 Permutations_ _ '[] = '[]
 Permutations_ as (x : xs) = MapCons x (Permutations (Delete x as)) ++ Permutations_ as xs

type family Permutations (xs :: [a]) :: [[a]] where
 Permutations '[] = '[ '[]]
 Permutations xs = Permutations_ xs xs
источник

к

кана in Haskell
*Main> :kind! Permutations '[Either Int String, Maybe Int, MyType]
Permutations '[Either Int String, Maybe Int, MyType] :: [[*]]
= '[ '[Either Int String, Maybe Int, MyType],
    '[Either Int String, MyType, Maybe Int],
    '[Maybe Int, Either Int String, MyType],
    '[Maybe Int, MyType, Either Int String],
    '[MyType, Either Int String, Maybe Int],
    '[MyType, Maybe Int, Either Int String]]
источник