Book "Type-driven Development with Idris" page 52 has
2.5 Summary ...
- Function types have one or more input types and one output type.
- The entry point to an Idris program is the main function, which must have type IO (), and be defined in the module Main.
The main function is defined as
main : IO ()
From my limited knowledge, without ->
it is a variable rather than a function given that the summary states that a function must have at least one input.
I must miss something but why does the author call main, whose type has no arrows, a function?
In addition, can I call foo : Bar
a function?