Haskell のレコードはぐったりしないか

This entry was posted by on Friday, 19 May, 2006
>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 とか別名をつけてごく短い名前で参照するのが普通)。 >

Comments are closed.