liquid-java / liquid-java/liquidjava
Support `LinkedList<@Refined(“x>0”) Integer>`
Aberta
Ninguém assumiu esta issue ainda.
enhancement
future
- Linguagem predominante
- Java
- Estrelas
- 67
- Forks
- 36
- Merge médio
- 10d 18h
- PRs com merge (30d)
- 3
Descrição
Add support for refining all the items inside a List.
This is a large task with several challenges inside, some of them include:
- supporting list refinements, see how LiquidHaskell handles them;
- how to translate lists to SMT lib;
- unboxing Integer to int.
Small example code:
LinkedList<@Refinement(“x>0”) Integer> li = new ArrayList<Integer>();
li.add(10); // okay
li.add(-100; // error
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Nenhum arquivo-fonte ou teste é especificado. Comece examinando o tratamento existente de refinements e como o LiquidHaskell lida com refinements de listas; em seguida, investigue a tradução de listas para SMT-LIB e o unboxing de Integer para int. Está concluído quando o exemplo LinkedList aceitar 10 e rejeitar -100.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- java
- Domínio
- compilers
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100