Size: a a a

2020 November 23

к

кана in Haskell
был какой-то пропосал сделать так, чтобы вместо

data X = X { !a :: IORef Int }
писать
data X = X { mutable a :: Int }
источник

к

кана in Haskell
на него как обычно забили
источник

АК

Анатолий Кот... in Haskell
кана
ну не жаль, IORef это буквально "мутабельное" значение, так что оно семантически под задачу хорошо подходит
жаль в том смысле, что все со StateT придеться переписывать
источник

к

кана in Haskell
кана
был какой-то пропосал сделать так, чтобы вместо

data X = X { !a :: IORef Int }
писать
data X = X { mutable a :: Int }
это давало удобный сахар, типа вместо

x <- newIORef a
pure $ X { a = x }

писать сразу

X { a = x } :: IO X
источник

KV

Kirill Valyavin in Haskell
А пропозал сделать наследование для рекордов был?
источник

KV

Kirill Valyavin in Haskell
Шобы удобнее в ООП стиле писать было
источник

к

кана in Haskell
к сожалению нет
источник

к

кана in Haskell
пригодилось бы для хендл-паттерна
источник

к

кана in Haskell
прикольно было бы, хаскелисты бы тогда осознали что их хендл-паттерн это ооп
источник

KV

Kirill Valyavin in Haskell
Ну-ка цыц, иначе успеха не избежать
источник

к

кана in Haskell
так а ну ка
источник

к

кана in Haskell
есть у кого-нибудь задачки интересные?
источник

к

кана in Haskell
снова хочется чет поделать, но возвращаться к Typeable чисел уже не хочется
источник

R

Roman in Haskell
кана
то что там сделано я делал тысячу раз когда писал тайпчекеры и интерпретаторы
Всегда режектю на ревью попытки моделировать скоупы через стейт.
источник

к

кана in Haskell
так, интересно, а как делать?

Скоупы тайпчекера или скоупы интерпретатора?
источник

к

кана in Haskell
в случае тайпчекера конечно хватит и просто Reader [[(Var, Type)]], и это будет даже удобнее из-за готового local
источник

к

кана in Haskell
а если речь про интерпретатор немутабельного языка?
источник

R

Roman in Haskell
Скоупы чего угодно. Ридер. Плюс КонтТ/КоденситиТ поверх (локально) , если поведение стейта таки нужно
источник

R

Roman in Haskell
кана
а если речь про интерпретатор немутабельного языка?
В чем разница с мутабельным в данном контексте?
источник

к

кана in Haskell
ну вот выше был кейс, лямбда может в замыкание забрать переменную, и между созданием лямбды и вызовом лямбды значение в переменной может поменяться
источник