Size: a a a

2020 July 31

AA

A64m AL256m qn<co... in Haskell
часто правда надо постараться чтоб до него дошло
источник

AA

A64m AL256m qn<co... in Haskell
Maxim Koltsov
Кстати, был плагин который гхцишный отладчик к вскоду подключает
я думаю он бесполезен, потому что весь смысл гхци отладчика залезть реплом в определенный контекст, а там весь уи под другую парадигму заточен
источник
2020 August 01

AF

Alexey Fedotov in Haskell
кана
единственное правило это количество таргетов, 1 - линза, много или 0 - траверсал. Если траверсал можно использовать для создания значения, то он призма, все
Призма — это траверсал, который может устанавливать значения? Очень интересное мнение
источник

MK

Maxim Koltsov in Haskell
Чё
Призма может создавать значение, в этом её соль
источник

к

кана in Haskell
Alexey Fedotov
Призма — это траверсал, который может устанавливать значения? Очень интересное мнение
это официальное из доки линз
источник

к

кана in Haskell
не устанавливать, а создавать
источник

к

кана in Haskell
1 ^. re _Just == Just 1

только в этом случае траверсал является призмой
источник

YR

Yuki Rito in Haskell
Максим Воротынский
Какие у haskell есть инструменты для отладки?
по-моему в Atom-е была поддержка отладчика. В VSCode есть сейчас уже (там кажется надо поставить haskell и debug adapter расширения). Они при установке скажут что доставить (для remote сами все установили): language server там и т.д.
источник

AA

A64m AL256m qn<co... in Haskell
источник

MK

Maxim Koltsov in Haskell
Вау
источник

MK

Maxim Koltsov in Haskell
Хип вью встроен в гхц?
источник

AA

A64m AL256m qn<co... in Haskell
частично
источник

AA

A64m AL256m qn<co... in Haskell
та часть что с гхц не строит граф
источник

AA

A64m AL256m qn<co... in Haskell
так что этот скрипт от ghc-heap-view зависит
источник

AA

A64m AL256m qn<co... in Haskell
в 8.10 пм чекер даже "дальнодействие" поддерживает
longdist' :: [a] -> Maybe a
longdist' l@(_:_) = case l of x:_ -> Just x
longdist' [] = Nothing

но не из другого уравнения
longdist :: [a] -> Maybe a
longdist [] = Nothing
longdist l = case l of x:_ -> Just x

   Pattern match(es) are non-exhaustive
   In a case alternative: Patterns not matched: []
  |
12 | longdist l = case l of x:_ -> Just x
  |              ^^^^^^^^^^^^^^^^^^^^^^^
источник

AA

A64m AL256m qn<co... in Haskell
вообще, склоняюсь к тому что в 8.10+ от чекера уже можно какую-то пользу получать, если старательно обходить все его недоделки и держать некоторый доверенный код в проаннотированных как полные синонимах (правда подводные камни синонимов я пока не искал), а не просто затыкать ворнинги кэтч-олами
источник

AA

A64m AL256m qn<co... in Haskell
и надо сказать, что способность чекера показать что забыли матчить СИЛЬНО хуже чем способность определить что все нормально матчится.
практически для всего что он нового чекает по сравнению с 8.8 он не может сказать что не так если чек не проходит
источник

JS

Jerzy Syrowiecki in Haskell
A64m AL256m qn I0
в 8.10 пм чекер даже "дальнодействие" поддерживает
longdist' :: [a] -> Maybe a
longdist' l@(_:_) = case l of x:_ -> Just x
longdist' [] = Nothing

но не из другого уравнения
longdist :: [a] -> Maybe a
longdist [] = Nothing
longdist l = case l of x:_ -> Just x

   Pattern match(es) are non-exhaustive
   In a case alternative: Patterns not matched: []
  |
12 | longdist l = case l of x:_ -> Just x
  |              ^^^^^^^^^^^^^^^^^^^^^^^
джва года ждал!
источник

AA

A64m AL256m qn<co... in Haskell
надо будет написать текст/пост о том как дела с пм сейчас, за десять лет что я его буду писать как раз новый пм в смл кто-нибудь да имплементирует
источник

A

Andrey in Haskell
был доклад на эту тему, ещё до ковида
источник