packages feed

prototype 0.2 → 0.3

raw patch · 2 files changed

+9/−8 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Control.Prototype: setMethod :: Monad m => Object -> String -> Method m -> PTMonad m Member
+ Control.Prototype: setMethod :: Monad m => Object -> Member -> Method m -> PTMonad m ()

Files

prototype.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.2  name:		prototype-version:	0.2+version:	0.3 stability:	experimental author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -27,13 +27,16 @@ 		> main :: IO () 		> main = fmap fst $ flip runPT initPTEnv $ do 		>	dog <- clone object-		>	name <- makeMember "name"-		>	setName <- setMethod dog "setName" $ \this [ n ] -> do+		>	name	<- makeMember "name"+		>	setName	<- makeMember "setName"+		>	sit	<- makeMember "sit"+		>	setMethod dog setName $ \this [ n ] -> do 		>		setMember this name n 		>		return [ ]-		>	sit <- setMethod dog "sit" $ \this _ -> do+		>	setMethod dog sit $ \this _ -> do 		>		n <- member this name 		>		liftPT $ putStrLn $ fromPrimStr n ++ " sitting."+		>		return [ ] 		>	myDog <- clone dog 		>	method myDog setName [ primStr "John" ] 		>	method myDog sit [ ]
src/Control/Prototype.hs view
@@ -123,13 +123,11 @@ 	objBody@ObjectBody { objectMembers = mems } <- getObject obj 	putObject objBody { objectMembers = ( mn, val ) : mems } -setMethod :: Monad m => Object -> String -> Method m -> PTMonad m Member-setMethod obj name met = do+setMethod :: Monad m => Object -> Member -> Method m -> PTMonad m ()+setMethod obj mem met = do 	newId <- getNewId 	putObject $ Method newId met-	mem <- makeMember name 	setMember obj mem newId-	return mem  printMemberName :: MonadIO m => Member -> m () printMemberName ( Member name ) = liftIO $ putStrLn name