notes
This commit is contained in:
		
							parent
							
								
									77c2218c76
								
							
						
					
					
						commit
						8f64ddf533
					
				
							
								
								
									
										38
									
								
								NOTES
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								NOTES
									
									
									
									
									
								
							| @ -17,6 +17,8 @@ | |||||||
| 
 | 
 | ||||||
| ** speed | ** speed | ||||||
| *** profile, refactor, optimize | *** profile, refactor, optimize | ||||||
|  |    CookedLedger caching acct txns, boring status etc. | ||||||
|  |    refactor apis | ||||||
| 
 | 
 | ||||||
| ** basic features | ** basic features | ||||||
| *** print | *** print | ||||||
| @ -74,3 +76,39 @@ what does my balance history look like ? | |||||||
| what does my balance future look like ? | what does my balance future look like ? | ||||||
| are there any cashflow, tax, budgetary problems looming ? | are there any cashflow, tax, budgetary problems looming ? | ||||||
| 
 | 
 | ||||||
|  | * misc | ||||||
|  | ** testing support | ||||||
|  | 
 | ||||||
|  | -- {- | looks in Tests.hs for functions like prop_foo and returns | ||||||
|  | --   the list.  Requires that Tests.hs be valid Haskell98. -} | ||||||
|  | -- tests :: [String] | ||||||
|  | -- tests = unsafePerformIO $ | ||||||
|  | --   do h <- openFile "src/Tests.hs" ReadMode | ||||||
|  | --      s <- hGetContents h | ||||||
|  | --      case parseModule s of | ||||||
|  | --        (ParseOk (HsModule _ _ _ _ ds)) -> return (map declName (filter isProp ds)) | ||||||
|  | --        (ParseFailed loc s’)            -> error (s’ ++ ” ” ++ show loc) | ||||||
|  | 
 | ||||||
|  | -- {- | checks if function binding name starts with @prop_@ indicating | ||||||
|  | --  that it is a quickcheck property -} | ||||||
|  | -- isProp :: HsDecl -> Bool | ||||||
|  | -- isProp d@(HsFunBind _) = “prop_” `isPrefixOf` (declName d) | ||||||
|  | -- isProp _ = False | ||||||
|  | 
 | ||||||
|  | -- {- | takes an HsDecl and returns the name of the declaration -} | ||||||
|  | -- declName :: HsDecl -> String | ||||||
|  | -- declName (HsFunBind (HsMatch _ (HsIdent name) _ _ _:_)) = name | ||||||
|  | -- declName _                                              = undefined | ||||||
|  | 
 | ||||||
|  | -- mkCheck name = [| putStr (name ++ ": ") | ||||||
|  | --                >> quickCheck $(varE (mkName name)) |] | ||||||
|  | 
 | ||||||
|  | -- mkChecks []        = undefined -- if we don't have any tests, then the test suite is undefined right? | ||||||
|  | -- mkChecks [name]    = mkCheck name | ||||||
|  | -- mkChecks (name:ns) = [| $(mkCheck name) >> $(mkChecks ns) |] | ||||||
|  | 
 | ||||||
|  | -- {-# OPTIONS_GHC -fno-warn-unused-imports -no-recomp -fth #-} | ||||||
|  | -- runTests :: IO () | ||||||
|  | -- runTests = $(mkChecks tests) | ||||||
|  | 
 | ||||||
|  | -- ghc --make Unit.hs -main-is Unit.runTests -o unit | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user