On 22 December 2012 00:36, Christopher Howard <[email protected]> wrote: > Using a simple type I gave earlier from my monadic type question... > > code: > -------- > data Socket3 a b c = Socket3 a b c > deriving (Show) > -------- > > Is it possible somehow to layer on record syntax onto a synonym of the type? > > The idea would be something like this... > > code: > -------- > type SpaceShip = > Socket3 { engine :: Last Engine > , hull :: Last Hull > , guns :: [Guns] > } > -------- > > ...purely for the convenience. But this doesn't seem to work with "type" > as it assumes you are referring to already made constructors, and > evidently "newtype" only allows use of a single record. I could wrap it > in a normal "data" declaration but that would add an extra layer of > complexity I think.
No, you can't suddenly add records in just for a type alias. You might be able to create lenses though for setters/getters, though if you just want getters you can just write them yourself. > > -- > frigidcode.com > > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- Ivan Lazar Miljenovic [email protected] http://IvanMiljenovic.wordpress.com _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
