Евгений
А в идрисе вообще что-нибудь с памятью сделать можно?
Alex
можно, там есть Ptr
Alex
но вообще достаточно наваять что нибудь типа HAMT
Vladislav
Спам
Alex
https://gist.github.com/puffnfresh/35213f97ec189757a179
Mikhail
а в чем у idris преимущества перед haskell?
Arseniy
Это другой язык
Viacheslav
приехали
Arseniy
Лучше сразу закроем тред :)
Arseniy
https://deque.blog/2017/06/14/10-things-idris-improved-over-haskell/ Вообще вот есть такое
Mikhail
спасибо
Vladislav
Почти все эти пункты либо мелочные, либо вообще ухудшение.
Vladislav
Единственное настоящее преимущество -- pi/sigma.
Vladislav
Но их раньше в Хаскель завезут, чем Идрис юзабельным станет.
Vladislav
Мне так кажется. Может и не завезут нынешними темпами.
Alexander
+
Dmitrii
но вообще достаточно наваять что нибудь типа HAMT
Я уже наваял в своё время. Правда, там без believe_me не обошлось, доказательства на битовом типе не такие тривиальные...
Alex
может вытащите в отдельную репу, попробуем поконтрибутить? :)
Зигохистоморфный
зачем такое? https://github.com/matt-noonan/justified-containers
Зигохистоморфный
оу) https://github.com/mmirman/ImperativeHaskell/blob/master/Main.hs
Зигохистоморфный
вопрос есть ли у хаскелл такой список? https://github.com/denysdovhan/wtfjs один js девелопер сказал что просто я не знаю на должном уровне хаскелл и что просто я не могу найти такой список
Зигохистоморфный
ну и что Диль не шарит что говорит https://twitter.com/smdiehl/status/893039690487648257
Влод
вопрос есть ли у хаскелл такой список? https://github.com/denysdovhan/wtfjs один js девелопер сказал что просто я не знаю на должном уровне хаскелл и что просто я не могу найти такой список
ну с джс это смешно за счёт того что каждый может понять контр-интуитивность примеров. ну и приведение типов всегда плохая идея.
Влод
нет, я не знаю
кана
x :: Void x = undefined
Зигохистоморфный
доня.
Haskell WTF: -- value of an empty type x :: Void x = undefined -- fmap vs map fmap (+ 1) [1, 2, 3] map (+ 1) [1, 2, 3] -- head & tail are unsafe head :: [a] -> a
доня.
x :: Void x = undefined
опередил(
Влод
да, столько unsafe опраций
Влод
эксепшоны какие-то
Влод
String = [Char]
доня.
юзай пакет safe
да в х-ле вообще прелюдию надо кастомную юзать
Влод
а, ещё раньше были шутки про то что монада не аппликатив. сейчас же тоже полно такого осталось в прелюде?
доня.
String = [Char]
расширение есть которое строковые литералы делоет не [Char] а Text вроде
кана
Ну и моноид не полугруппа
Dmitrii
Самый большой WTF в Haskell за всю мою жизнь: wtf :: a -> (Num b => b) -> a wtf x y = xИ в ghci ghci> wtf 1 ("wat" + "man") 1
Влод
расширение есть которое строковые литералы делоет не [Char] а Text вроде
делает FromString a вроде и там уже сам определяешь
доня.
да, уже прочитал
доня.
Влод
Ну и моноид не полугруппа
ну полугрупп вроде нет в прелюде?
Aleksei (astynax)
Уже есть
кана
Есть
Aleksei (astynax)
Но моноид всё ещё полугруппу не требует - чтобы не сломать ничего
Aleksei (astynax)
Многие "WAT" в хаскеле потому, что по другому было нельзя. А в JS - потому что так вышло
Aleksei (astynax)
> length ("foo", "bar") 1
Aleksei (astynax)
Это не WAT, например
кана
Ох лол, а почему так? Как вообще это работает, если в прелюдии length принимает массив
кана
А, еет
кана
Фолдабл
кана
Думал про массив, пишу строку
кана
Отвечай, не читай до конца
Aleksei (astynax)
Пара ((a, b)) - ни разу не массив
Aleksei (astynax)
Это всё питон подгадил в головы неокрепшие. Это после питона "котрежи, это такие массивы, только побыстрее, но длину не меняют"
Aleksei (astynax)
Если сделать data Pair a = Pair a a deriving (Foldable) то будет > length $ Pair 1 2 2
кана
Да какой питон, что ты несешь. Я ввожу в хугл, вижу массив, пишу сюда. Потом открываю прелюдию, вижу там фолдабл, пишу об этом тоже. После этого нужно мне сказать об этом ещё раз, а потом и сказать, что я путаю пары и массивы
кана
Зигохистоморфный
что я делаю не так?
Зигохистоморфный
Зигохистоморфный
class Foldable t where
Зигохистоморфный
и вообще пользуйтесь stackage
Vasiliy
ещё прикол: let five = 2 + 2 where 2 + 2 = 5
кана
Мне блять еще раз повторить?
кана
Да какой питон, что ты несешь. Я ввожу в хугл, вижу массив, пишу сюда. Потом открываю прелюдию, вижу там фолдабл, пишу об этом тоже. После этого нужно мне сказать об этом ещё раз, а потом и сказать, что я путаю пары и массивы
кана
что я делаю не так?
кана
кана
Ох лол, а почему так? Как вообще это работает, если в прелюдии length принимает массив
кана
А, еет
кана
Фолдабл
кана
Я же говорю, отвечай не читай
Vasiliy
но это всё слабовато, конечно, по сравнению с js
Влод
да успокойся