lib: type signatures
This commit is contained in:
		
							parent
							
								
									39aed387e9
								
							
						
					
					
						commit
						da8047d286
					
				| @ -545,6 +545,7 @@ startofyear day = fromGregorian y 1 1 where (y,_,_) = toGregorian day | |||||||
| -- 2016-12-31           | -- 2016-12-31           | ||||||
| -- >>> nthdayofyearcontaining 1 1 wed22nd | -- >>> nthdayofyearcontaining 1 1 wed22nd | ||||||
| -- 2017-01-01           | -- 2017-01-01           | ||||||
|  | nthdayofyearcontaining :: Month -> MonthDay -> Day -> Day | ||||||
| nthdayofyearcontaining m n d | mmddOfSameYear <= d = mmddOfSameYear | nthdayofyearcontaining m n d | mmddOfSameYear <= d = mmddOfSameYear | ||||||
|                              | otherwise = mmddOfPrevYear |                              | otherwise = mmddOfPrevYear | ||||||
|     where mmddOfSameYear = addDays (fromIntegral n-1) $ applyN (m-1) nextmonth s |     where mmddOfSameYear = addDays (fromIntegral n-1) $ applyN (m-1) nextmonth s | ||||||
| @ -568,6 +569,7 @@ nthdayofyearcontaining m n d | mmddOfSameYear <= d = mmddOfSameYear | |||||||
| -- 2017-10-23           | -- 2017-10-23           | ||||||
| -- >>> nthdayofmonthcontaining 30 wed22nd | -- >>> nthdayofmonthcontaining 30 wed22nd | ||||||
| -- 2017-10-30           | -- 2017-10-30           | ||||||
|  | nthdayofmonthcontaining :: MonthDay -> Day -> Day | ||||||
| nthdayofmonthcontaining n d | nthOfSameMonth <= d = nthOfSameMonth | nthdayofmonthcontaining n d | nthOfSameMonth <= d = nthOfSameMonth | ||||||
|                             | otherwise = nthOfPrevMonth |                             | otherwise = nthOfPrevMonth | ||||||
|     where nthOfSameMonth = nthdayofmonth n s |     where nthOfSameMonth = nthdayofmonth n s | ||||||
| @ -591,6 +593,7 @@ nthdayofmonthcontaining n d | nthOfSameMonth <= d = nthOfSameMonth | |||||||
| -- 2017-11-16           | -- 2017-11-16           | ||||||
| -- >>> nthdayofweekcontaining 5 wed22nd | -- >>> nthdayofweekcontaining 5 wed22nd | ||||||
| -- 2017-11-17           | -- 2017-11-17           | ||||||
|  | nthdayofweekcontaining :: WeekDay -> Day -> Day | ||||||
| nthdayofweekcontaining n d | nthOfSameWeek <= d = nthOfSameWeek | nthdayofweekcontaining n d | nthOfSameWeek <= d = nthOfSameWeek | ||||||
|                            | otherwise = nthOfPrevWeek |                            | otherwise = nthOfPrevWeek | ||||||
|     where nthOfSameWeek = addDays (fromIntegral n-1) s |     where nthOfSameWeek = addDays (fromIntegral n-1) s | ||||||
| @ -614,12 +617,14 @@ nthdayofweekcontaining n d | nthOfSameWeek <= d = nthOfSameWeek | |||||||
| -- 2017-10-26 | -- 2017-10-26 | ||||||
| -- >>> nthweekdayofmonthcontaining 4 5 wed22nd | -- >>> nthweekdayofmonthcontaining 4 5 wed22nd | ||||||
| -- 2017-10-27 | -- 2017-10-27 | ||||||
|  | nthweekdayofmonthcontaining :: Int -> WeekDay -> Day -> Day | ||||||
| nthweekdayofmonthcontaining n wd d | nthWeekdaySameMonth <= d  = nthWeekdaySameMonth | nthweekdayofmonthcontaining n wd d | nthWeekdaySameMonth <= d  = nthWeekdaySameMonth | ||||||
|                                    | otherwise = nthWeekdayPrevMonth |                                    | otherwise = nthWeekdayPrevMonth | ||||||
|     where nthWeekdaySameMonth = advancetonthweekday n wd $ startofmonth d |     where nthWeekdaySameMonth = advancetonthweekday n wd $ startofmonth d | ||||||
|           nthWeekdayPrevMonth = advancetonthweekday n wd $ prevmonth d |           nthWeekdayPrevMonth = advancetonthweekday n wd $ prevmonth d | ||||||
| 
 | 
 | ||||||
| -- | Advance to nth weekday wd after given start day s | -- | Advance to nth weekday wd after given start day s | ||||||
|  | advancetonthweekday :: Int -> WeekDay -> Day -> Day | ||||||
| advancetonthweekday n wd s = addWeeks (n-1) . firstMatch (>=s) . iterate (addWeeks 1) $ firstweekday s | advancetonthweekday n wd s = addWeeks (n-1) . firstMatch (>=s) . iterate (addWeeks 1) $ firstweekday s | ||||||
|   where           |   where           | ||||||
|     addWeeks k = addDays (7 * fromIntegral k) |     addWeeks k = addDays (7 * fromIntegral k) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user