liquid-java / liquid-java/liquidjava

Support `LinkedList<@Refined(“x>0”) Integer>`

Aberta
#41 1 comentário 0 reações 0 responsáveis Ver no GitHub

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

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.