
On 22 December 2012 00:36, Christopher Howard
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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com http://IvanMiljenovic.wordpress.com