---
name: pipe3
kind: function
lang: go
domain: core
version: "1.0.0"
purity: pure
signature: "func Pipe3[A, B, C, D any](f1 func(A) B, f2 func(B) C, f3 func(C) D) func(A) D"
description: "Compone tres funciones de izquierda a derecha."
tags: [functional, composition, generic, pipe, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
  - name: f1
    desc: "primera función: A -> B"
  - name: f2
    desc: "segunda función: B -> C"
  - name: f3
    desc: "tercera función: C -> D"
output: "función compuesta que aplica f1, luego f2, luego f3, equivalente a f3(f2(f1(x)))"
tested: false
tests: []
test_file_path: ""
file_path: "functions/core/pipe3.go"
---

## Ejemplo

```go
add1 := func(x int) int { return x + 1 }
double := func(x int) int { return x * 2 }
toString := func(x int) string { return fmt.Sprintf("%d", x) }
pipeline := Pipe3(add1, double, toString)
result := pipeline(3) // "8"
```

## Notas

Funcion pura generica. Implementacion en devfactory/core.
