segrega separa en dos grupos de acuerdo a un filtro de segregación. El primer grupo es el grupo de los que no cumplen. El segundo grupo es el grupo de los que sí cumplen:
es mayor el número en cuestión que 3?
muestra expon [[impon [esmayor dista 3]] mismo] iota 10
[[0 0 0 0 1 1 1 1 1 1] [0 1 2 3 4 5 6 7 8 9]]
muestra segrega [[0 0 0 0 1 1 1 1 1 1] [0 1 2 3 4 5 6 7 8 9]]
[[0 1 2 3] [4 5 6 7 8 9]]
0, 1, 2 y 3 no cumplen con la función de segregación.
Estos son los que sí cumplen:
muestra ultimo [[0 1 2 3] [4 5 6 7 8 9]]
[4 5 6 7 8 9]
es mayor 3 que el número en cuestión?:
muestra expon [[impon [esmayor lista 3]] mismo] iota 10
[[1 1 1 0 0 0 0 0 0 0] [0 1 2 3 4 5 6 7 8 9]]
muestra segrega [[1 1 1 0 0 0 0 0 0 0] [0 1 2 3 4 5 6 7 8 9]]
[[3 4 5 6 7 8 9] [0 1 2]]
3 es mayor que cada uno de los números en [0 1 2]. [0 1 2] es el grupo de números que pasan el filtro.
congrega es lo inverso de "segrega"
muestra segrega [[1 1 1 1 1 0 0 0] [1 2 3 4 5 6 7 8]]
[[6 7 8] [1 2 3 4 5]]
muestra congrega [[1 1 1 1 1 0 0 0] [[6 7 8] [1 2 3 4 5]]]
[1 2 3 4 5 6 7 8]
muestra congrega [[1 1 1 1 1 0 0 0] [[6 7 8] [10 20 30 40 50]]]
[10 20 30 40 50 6 7 8]
muestra congrega [[0 1 0 1 1 1 1] [[01 02] [11 12 13 14 15]]]
[01 11 02 12 13 14 15]
muestra congrega [[1 1 0 0] [[a b c d e] [A B C D E]]]
[A B a b]
muestra congrega [[1 1 0 0] [abcde ABCDE]]
[A B a b]
escoge [F L] devuelve los elementos de L para los cuales al aplicarse la función F sobre ellos, dicha función devuelve 1. Escoge está definida en base a "segrega".
muestra iota 10
[0 1 2 3 4 5 6 7 8 9]
muestra expon [[impon [esmayor lista 3]] mismo] iota 10
[[1 1 1 0 0 0 0 0 0 0] [0 1 2 3 4 5 6 7 8 9]]
muestra segrega [[1 1 1 0 0 0 0 0 0 0] [0 1 2 3 4 5 6 7 8 9]]
[[3 4 5 6 7 8 9] [0 1 2]]
muestra ultimo segrega [[1 1 1 0 0 0 0 0 0 0] [0 1 2 3 4 5 6 7 8 9]]
[0 1 2]
muestra escoge [esmayor lista 3] iota 10
[0 1 2]
Según el diccionario un agregado es "conjunto de cosas que forman un solo cuerpo".
agrega crea agregados de lo que esta a la derecha utilizando el filtro que esta la izquierda,
muestra agrega [[2 2 1 1 1 1 1 2] [1 2 3 4 5 6 7 8 9]]
[[1 2 8] [3 4 5 6 7]]
1, 2 y 8 pertenecen al grupo 2 (asi lo dice el elemento filtro), 3, 4, 5, 6, 7 pertenecen al grupo 1 (asi lo dice el elemento filtro).
El grupo 2 aparece antes que el grupo 1 porque:
muestra esencia [2 2 1 1 1 1 1 2]
[2 1]
es decir, el orden de los grupos, los da la esencia del filtro. El grupo 2 resultó estar antes que el grupo 1. No están ordenados.
Doce números entre 0 y 11:
muestra impon "azar clona [12 12]
[2 4 8 10 9 6 10 5 6 10 1 5]
Queremos agruparlos en 4 grupos. 12 / 4 = 3 (Por eso es "dista 3")
muestra des [suelo cociente] dista 3 [2 4 8 10 9 6 10 5 6 10 1 5]
[0 1 2 3 3 2 3 1 2 3 0 1]
muestra agrega lista [0 1 2 3 3 2 3 1 2 3 0 1] [2 4 8 10 9 6 10 5 6 10 1 5]
[[2 1] [4 5 5] [8 6 6] [10 9 10 10]]
muestra esencia [0 1 2 3 3 2 3 1 2 3 0 1]
[0 1 2 3]
Los grupos salieron ordenados. Que buena suerte!
Entonces,
El grupo 0 tiene los valores 2 y 1
El grupo 1 tiene los valores 4 y dos valores 5.
El grupo 3 tiene tres valores 10 y un valor 9.
Contemos cuandos valores cayeron dentro de cada grupo:
muestra impon "cuenta [[2 1] [4 5 5] [8 6 6] [10 9 10 10]]
[2 3 3 4]
El grupo 0 tiene 2 valores
El grupo 1 tiene 3 valores
El grupo 2 tiene 3 valores
El grupo 4 tiene 4 valores
disgrega también hace grupos, pero de acuerdo a las "rachas" que hayan en el filtro. Una "racha" es una serie de elementos repetidos:
[1 1 1 2 2 2 1 1 1]
Tiene 3 rachas porque tiene 3 series de elementos repetidos:
[[1 1 1] [2 2 2] [1 1 1]]
muestra disgrega [[1 1 1 2 2 2 1 1 1] [1 2 3 4 5 6 7 8 9]]
[[1 2 3] [4 5 6] [7 8 9]]
muestra disgrega [[1 1 1 2 2 1 2 2 2] [1 2 3 4 5 6 7 8 9]]
[[1 2 3] [4 5] [6] [7 8 9]]
muestra disgrega [[1 2 1 2 1 2 1 2 1] [1 2 3 4 5 6 7 8 9]]
[[1] [2] [3] [4] [5] [6] [7] [8] [9]]
Para encontrar cuantas rachas tiene una serie:
muestra duplica [1 1 1 2 2 2 1 1 1]
[[1 1 1 2 2 2 1 1 1] [1 1 1 2 2 2 1 1 1]]
muestra disgrega duplica [1 1 1 2 2 2 1 1 1]
[[1 1 1] [2 2 2] [1 1 1]]
Otro ejemplo:
muestra disgrega duplica "Mississippi
[[M] [i] [s s] [i] [s s] [i] [p p] [i]]
muestra impon "junta disgrega duplica "Mississippi
[M i ss i ss i pp i]