# Evaluation of functions
```agda
module foundation.evaluation-functions where
```
<details><summary>Imports</summary>
```agda
open import foundation.action-on-identifications-functions
open import foundation.universe-levels
open import foundation-core.identity-types
```
</details>
## Idea
Consider a family of types `B` over `A` and let `a : A` be an element. The
{{#concept "evaluation function" Agda=ev}} at `a`
```text
ev : ((x : A) → B x) → B a
```
is the map given by `f ↦ f a`, evaluating dependent functions at `a`.
## Definitions
### The evaluation function
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : A → UU l2} (a : A)
where
ev : ((x : A) → B x) → B a
ev f = f a
```
### The evaluation function with an explicit type family
```agda
module _
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) (a : A)
where
ev-dependent-function : ((x : A) → B x) → B a
ev-dependent-function = ev a
```
### The evaluation function for nondependent functions
```agda
module _
{l1 l2 : Level} {A : UU l1} (B : UU l2) (a : A)
where
ev-function : (A → B) → B
ev-function = ev a
```
### The evaluation function of implicit functions
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : A → UU l2} (a : A)
where
ev-implicit-function : ({x : A} → B x) → B a
ev-implicit-function f = f {a}
```
### The evaluation function of implicit functions, specified with an explicit type family
```agda
module _
{l1 l2 : Level} {A : UU l1} (B : A → UU l2) (a : A)
where
ev-implicit-function' : ({x : A} → B x) → B a
ev-implicit-function' = ev-implicit-function a
```
## See also
- The
[action on identifications](foundation.action-on-identifications-functions.md)
of the evaluation map is the function `a ↦ λ p → htpy-eq p a` defined in
[Function extensionality](foundation.function-extensionality.md).