/*  Notes on Scala for Java Programmers
    Scala Timer Program

12345678901234567890123456789012345678901234567890123456789012345678901234567890

2019-01-28: Reconstructed from ScalaForJava.md notes source file
2022-04-25: Updaated to be compatible with Scala 3 (procedures)

*/
   
object Timer {
    def oncePerSecond(callback: () => Unit): Unit = {
        while (true) { callback(); Thread sleep 1000 }
    }

    def timeFlies(): Unit = {
        println("time flies like an arrow...")
    }

    def main(args: Array[String]): Unit = {
        oncePerSecond(timeFlies)
    }
}

