@@ -33,12 +33,12 @@ generate n =
3333 ]
3434
3535 where
36- vars = map char $ take n [' a' .. ]
36+ vars = map ( \ c -> text [ ' _ ' ,c]) $ take n [' a' .. ]
3737 varss = map (<> char ' s' ) vars
3838 tuple xs = parens $ hsep $ punctuate comma xs
3939 vtuple xs = parens $ sep $ punctuate comma xs
4040 con s = text s <> char ' _' <> int n
41- var c = text (c : " _" )
41+ var c = text (' _ ' : c : " _" )
4242
4343 data_instance ty c
4444 = hang (hsep [text " data instance" , text ty, tuple vars])
@@ -177,6 +177,9 @@ generate n =
177177 <+> parens (var ' m' <> char ' +' <> var ' n' )
178178 <+> sep (map (<> char ' \' ' ) varss))
179179
180+ gen_initialize rec
181+ = (pat " MV" , mk_do [qM rec <+> vs | vs <- varss] empty)
182+
180183 gen_unsafeFreeze rec
181184 = (pat " MV" ,
182185 mk_do [vs <> char ' \' ' <+> text " <-" <+> qG rec <+> vs | vs <- varss]
@@ -224,7 +227,8 @@ generate n =
224227 ,(" basicSet" , gen_set)
225228 ,(" basicUnsafeCopy" , gen_unsafeCopy " MV" qM)
226229 ,(" basicUnsafeMove" , gen_unsafeMove)
227- ,(" basicUnsafeGrow" , gen_unsafeGrow)]
230+ ,(" basicUnsafeGrow" , gen_unsafeGrow)
231+ ,(" basicInitialize" , gen_initialize)]
228232
229233 methods_Vector = [(" basicUnsafeFreeze" , gen_unsafeFreeze)
230234 ,(" basicUnsafeThaw" , gen_unsafeThaw)
0 commit comments