Size: a a a

2020 June 28

DS

Doge Shibu in Haskell
A64m AL256m qn I0
в кейсах и летах точно не работает
У меня и в объявлении функций не работает.
источник

AA

A64m AL256m qn<co... in Haskell
Переслано от A64m AL256m qn<co...
там, конечно, особо не разгуляешься
- The syntax a # p -> b is not yet implemented. You can use GHC.Exts.FUN p a b instead. However, be aware of the next point.
- Multiplicity polymorphism is incomplete and experimental. You may have success using it, or you may not. Expect it to be really unreliable.
- There is currently no support for multiplicity annotations such as
 x :: a # p, \(x :: a # p) -> ....
- All case, let and where statements consume their right-hand side, or scrutiny, Many times. That is, the following will not type check:
      g :: A #-> (A, B)
     h :: A #-> B #-> C

     f :: A #-> C
     f x =
       case g x of
         (y, z) -> h y z
 This can be worked around by defining extra functions which are   specified to be linear, such as:
      g :: A #-> (A, B)
     h :: A #-> B #-> C

     f :: A #-> C
     f x = f' (g x)
       where
         f' :: (A, B) #-> C
         f' (y, z) = h y z
- There is no support for linear pattern synonyms.
- @-patterns and view patterns are not linear.
- The projection function for a record with a single linear field should be multiplicity-polymorphic; currently it's unrestricted.
- Attempting to use of linear types in Template Haskell will probably not work.
источник

WK

Wow KeepLearning in Haskell
don't
источник

WK

Wow KeepLearning in Haskell
ohh that makes sense
источник

AV

Alexander Vershilov in Haskell
_Ryner' :: IO ❄️
Вроде есть extension чтоб аксессоры не генерились
Главное чтобы RWC не сломали и NFP
источник

к

кана in Haskell
_Ryner' :: IO ❄️
record ^. #mbField -- ошибка
а какая ошибка
источник

_:

_Ryner' :: IO ❄️ in Haskell
кана
а какая ошибка
Да я не помню уже, потом посмотрю, если не забуду
источник

YP

Yuriy Pitomets in Haskell
Alexander Vershilov
А чем людям не нравится overloaded labels (ну явно не захватом инстанса) и generic-lens линзы?
так это ж сахар поверх линз, как я понял, саму точку использовать не обязательно, только можно дженерик инстанс не делать, и паттерн-матчинг работает без вью-паттернов
источник

к

кана in Haskell
_Ryner' :: IO ❄️
Да я не помню уже, потом посмотрю, если не забуду
источник

к

кана in Haskell
Все ок
источник

YP

Yuriy Pitomets in Haskell
A64m AL256m qn I0
в инспекшон-тестинг есть такая инспекция
спасибо, не знал о нем
источник

_:

_Ryner' :: IO ❄️ in Haskell
Странно
источник

AV

Alexander Vershilov in Haskell
Yuriy Pitomets
так это ж сахар поверх линз, как я понял, саму точку использовать не обязательно, только можно дженерик инстанс не делать, и паттерн-матчинг работает без вью-паттернов
Точка это не сахар и не поверх линз
источник

к

кана in Haskell
Yuriy Pitomets
так это ж сахар поверх линз, как я понял, саму точку использовать не обязательно, только можно дженерик инстанс не делать, и паттерн-матчинг работает без вью-паттернов
не сахар, а генерация линз из генерик-инстанса, а не с TH, что расширяет возможность использования (например для рекордов из либ, для которых нет линз, но есть Generic-инстанс)

ну и незамусоривание контекста линзами, а рекорда префиксами, их и экспортировать не нужно
источник

MK

Maxim Koltsov in Haskell
Но ведь дженерик будет тормозить
источник

MK

Maxim Koltsov in Haskell
И компиляцию, и рантайм!
источник

MK

Maxim Koltsov in Haskell
Когда ты используешь дженерик линзы, компилятор может избавиться от from?
источник

к

кана in Haskell
ну и что, ghc и так медленный
источник

MK

Maxim Koltsov in Haskell
Держите академика!
источник

MK

Maxim Koltsov in Haskell
Хотя если человеку платят по часам, то можно и сборку медленную потерпеть
источник