poetix

this time for sure

Ugly! Ugly! Ugly!

HRESULT IShellExtInit::Initialize (

LPCITEMIDLIST pidlFolder,

LPDATAOBJECT pDataObj,

HKEY hProgID );

Piddlefolder indeed.

The notational conventions used in MFC (and, here, ATL) programming do convey useful information about the values being referred to, but they convey it in such an utterly graceless way that I think I’d rather not know.

class ShellExtInit a where

Initialize :: a -> IORef [Item] -> IORef DataObject -> ProgId -> IO ResultCode

That’s better.