Scheme

Olá pessoal, alguém consegue me dar um help num detalhe de um projeto, é só essa parte para encaixar no resto.
Preciso de uma funçao que recebe uma lista de inteiros L e retorna uma lista em que todos os elementos duplicados foram removidos.
Dando sequencia uma funçao que recebe essa L1 e outra L2 e retorna a união dessa lista sem duplicaçao.
Ex.: (uniao(list 1 2 1 1 6 5) (list 4 1 5 1 6 5 3 2)) teria que dar resultado (list 1 2 6 5 3 4)

Valeu, qualquer ajuda será bem vinda, algum código melhor ainda, valeu

[code]
package demo;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class Demo {
public static void main(String[] args){
List<Integer> l1 = new ArrayList<Integer>();
List<Integer> l2 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l2.add(1);
l2.add(4);
l2.add(2);
Set<Integer> retorno = uniao(l1, l2);

    for(Integer i : retorno){
        System.out.println("Indice: "+i);
    }
}
public static Set&lt;Integer&gt; uniao(List&lt;Integer&gt; l1, List&lt;Integer&gt; l2){
    Set&lt;Integer&gt; separa = new TreeSet&lt;Integer&gt;();
    for(int i=0;i&lt;l1.size();i++){
        separa.add(l1.get(i));
    }
    for(int i=0;i&lt;l2.size();i++){
        separa.add(l2.get(i));
    }
    return separa;
}

}
[/code]>

Bá, valeu mesmo, só que precisa ser em Scheme, e se puder usando funçoes recursivas.

Rsrsrs. Agora você me pegou. Ainda não cheguei lá. Ainda não paguei cadeiras que usam Linguagens Funcionais. Contudo dei minha ajuda, quem puder ajudar será bem vindo.

Blz amigo se souber alguém que saiba me dá uma ajuda ai, preciso é muito importante

Valeu