Imports System
Module Program
' A higher‑order function is a function that does at least one of the following:
' 1. Takes another function as an argument
' 2. Returns a function as its result
' If it does either one, it qualifies.
' Higher-order function: takes a function as an argument
Function applyTwice(fn As Func(Of Integer, Integer), x As Integer) As Integer
Return fn(fn(x))
End Function
' A simple function to pass in
Function add3(n As Integer) As Integer
Return n + 3
End Function
Sub Main()
' Use the higher-order function
Dim result As Integer = applyTwice(AddressOf add3, 5) ' 5 + 3 = 8 + 3 = 11
Console.WriteLine(result)
End Sub
End Module
' run:
'
' 11
'