Size: a a a

2020 June 24

AA

A64m AL256m qn<co... in Haskell
Dmitry
Меня попросили сегодня собрать под Винду пакет с хакаджа. Я на чистом компе сделал wininstall и stack install package. И все сработало
ну может винда недостаточно новая, может просто повезло ни на какие мины не наступить. вроде того как когда стекеджовый ресолвер сломан на виндовс это не обнаружить пока не попробуешь сбилдить либу, у которой зависимости на винде отличаются, вроде туртла какого-нибудь
источник

AA

A64m AL256m qn<co... in Haskell
Roman
Еще раз: глобальное имя, которое ссылается на глобальное определение, и глобальное имя, которое ссылается на локальную переменную, к тому же связанную неявно -- это две сильно разные вещи
че тут неявного-то
foo {- явно называется как поле -} <- bar
return $ Baz{..}
источник

AV

Alexander Vershilov in Haskell
доллар
источник

AV

Alexander Vershilov in Haskell
лишний
источник

JS

Jerzy Syrowiecki in Haskell
Denis Redozubov
стек качает бинарные сборки ghc же
какую-то часть ghc он линкует локально
источник

AV

Alexander Vershilov in Haskell
/me найдёт к чему докопаться!
источник

AA

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

MK

Maxim Koltsov in Haskell
если написать два раза, варнинг будет(
источник

AA

A64m AL256m qn<co... in Haskell
не будет

foo <- bar
return $ Baz{foo}

foo <- bar
return $ Baz{foo = foo}
источник

AA

A64m AL256m qn<co... in Haskell
можно два раза написать, можно три
источник

AA

A64m AL256m qn<co... in Haskell
никакого ворнинга, никакого толка
источник

MK

Maxim Koltsov in Haskell
> каждый третий блогпост заканчивается ссылкой на пейперы
источник

AV

Alexander Vershilov in Haskell
это классно!
источник

AA

A64m AL256m qn<co... in Haskell
Maxim Koltsov
> каждый третий блогпост заканчивается ссылкой на пейперы
эх, хорошо бы так было
источник

AA

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

MK

Maxim Koltsov in Haskell
A64m AL256m qn I0
не будет

foo <- bar
return $ Baz{foo}

foo <- bar
return $ Baz{foo = foo}
λ> data Foo = Foo { foo :: Int, bar :: String }
λ> x = let foo = 42; bar = "hello" in Foo foo bar

<interactive>:3:9: warning: [-Wname-shadowing]
   This binding for ‘foo’ shadows the existing binding
     defined at <interactive>:2:18

<interactive>:3:19: warning: [-Wname-shadowing]
   This binding for ‘bar’ shadows the existing binding
     defined at <interactive>:2:30
источник

MK

Maxim Koltsov in Haskell
что ты обманываешь
источник

AV

Alexander Vershilov in Haskell
а представляешь было бы пейпер, который автор прочитал?
источник

MK

Maxim Koltsov in Haskell
а, у тебя там неймед филд панс
источник

MK

Maxim Koltsov in Haskell
но вот вторая версия, с foo=foo, должна дать варнинг
источник