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  }