Why a function cannot call a task
As functions doesn't consume time,it can do any operation which doesn't consume time. Mostly tasks are written that consumes time. So a task call inside a function blocks further execution of function till it finished. However its not true. A function can call task if task call consumes zero time, but IEEE LRM doesn't allow.