--- name: filter_slice kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func FilterSlice[T any](xs []T, pred func(T) bool) []T" description: "Filtra un slice aplicando un predicado sin mutar el original." tags: [slice, functional, generic] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] tested: false tests: [] test_file_path: "" file_path: "functions/core/filter_slice.go" --- ## Ejemplo ```go evens := FilterSlice([]int{1, 2, 3, 4}, func(n int) bool { return n%2 == 0 }) // evens = [2, 4] ``` ## Notas Funcion pura generica. No muta el slice original — crea uno nuevo.