新たな構文を思い付きました。
みたいなデータ型があるとき、applicative style を使うと
のように初期化できます。
しかし、フィールド名が使えないので、フィールド名による検索とか、フィールドが増減したときの編集とかがイマイチです。以下のような構文があると便利だと思うのですが、どう思いますか?
data Foo = Foo {
bar :: IORef Int
, baz :: TVar Int
}みたいなデータ型があるとき、applicative style を使うと
Foo <$> newIORef 0 <*> newTVarIO 0
のように初期化できます。
しかし、フィールド名が使えないので、フィールド名による検索とか、フィールドが増減したときの編集とかがイマイチです。以下のような構文があると便利だと思うのですが、どう思いますか?
Foo {
bar <- newIORef 0
, baz <- newTVarIO 0
}