Haskell のレコードはぐったりしないか
>Clean は使ったことないのでよく知らないのだけど、 OCaml のレコードはおれもぐったりしました。
>
>ところで Haskell だとどうなっているでしょうか?
>
>たとえば、 Haskell で、
>
>data Complex a = Complex { re, im :: a }
>
>と定義されていたとします。このとき、フィールドである re とか im とかはどう取り出すかというと、こうなります。
>
>let c = Complex { re = 1, im = 0 } in
re c > >で、モジュール名を、たとえば Complex とすると、こうなるんですかね。 > >import qualified Complex
let c = Complex.Complex { Complex.re = 1, Complex.im = 0 } in
Complex.re c > >ようはふつうの関数形式なので、あんまり違和感は感じませんということなんですかね。 Haskell では、あんまりこういう形式で書かない気がしますし(たいてい import しちゃうのでモジュール名を陽に指定しないか、するときは as C とか別名をつけてごく短い名前で参照するのが普通)。 >
re c > >で、モジュール名を、たとえば Complex とすると、こうなるんですかね。 > >import qualified Complex
let c = Complex.Complex { Complex.re = 1, Complex.im = 0 } in
Complex.re c > >ようはふつうの関数形式なので、あんまり違和感は感じませんということなんですかね。 Haskell では、あんまりこういう形式で書かない気がしますし(たいてい import しちゃうのでモジュール名を陽に指定しないか、するときは as C とか別名をつけてごく短い名前で参照するのが普通)。 >