Funny that you should mention this idea. I spent last night and this morning implementing it in ghc. But I use '..' instead of '*'.

The punning is available both for expressions and patterns.

I am of two minds about this extension. It introduces bound variables without mentioning the variable at the binding site. This can be error prone. (But 'import' has similar problems.)

Dubious as it is, when using large records it reduces the amount of boiler place code significantly.

        -- Lennart

On Oct 30, 2006, at 16:20 , Bulat Ziganshin wrote:

Hello Simon,

Monday, October 30, 2006, 3:11:23 PM, you wrote:

I always thought it was a mistake to remove record puns in H98. I would not be against re-introducing them into GHC, since they appear to remain
in Hugs and are in Yhc.

what you (and all) think about wildcarded puns:

data Command = Command {
    cmd_name                 :: !String
  , cmd_arcspec              ::  String
  , cmd_arclist              ::  [FilePath]
  , cmd_arcname              ::  FilePath
  , cmd_arc_filter           :: !(FileInfo -> Bool)
  , cmd_filespecs            :: ![String]
  , cmd_added_arcnames       :: !(IO [FilePath])
  , cmd_diskfiles            :: !(IO [FileInfo])
  , cmd_subcommand           :: !Bool
....
}

process_cmd (Command{*}) = do
   print cmd_name
   ...

because Haskell encourage using of structure name as part of field's
name, this will not create mess (at least for my programs), it will
work like Pascal's 'with' operator



--
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to