github.com/l3x/learn-fp-go@v0.0.0-20171228022418-7639825d0b71/4-purely-functional/ch09-functor-monoid/09_clock_functor/main.go (about) 1 package main 2 3 import ( 4 . "functor" 5 "fmt" 6 ) 7 8 func main() { 9 fmt.Println("Initial state :", Wrap(AmHoursFn())) 10 fmt.Println("Zero application :", Wrap(AmHoursFn()).Map(Zero)) 11 fmt.Println("1st application :", Wrap(AmHoursFn()).Map(AmPmMapper)) 12 fmt.Println("Chain applications:", Wrap(AmHoursFn()).Map(AmPmMapper).Map(AmPmMapper)) 13 fmt.Println("Chain applications:", Wrap(AmHoursFn()).Map(AmPmMapper)) 14 }