title: Question on lambda expressions as parameters
body: <p>I'm a Java developer that is new to kotlin, and the following syntax surprised me: </p>
  
  <pre><code>    fun foo(m: String, bar: (m: String) -&gt; Unit) {
          bar(m)
      }
  
      foo("test") {
          println("this is a $it")
      }
  </code></pre>
  
  <p>Here we see that the lambda expression is passed implicitly via a code block. </p>
  
  <p>Is there a name for this type of syntactic trickery? I would like to understand this better. </p>