liquid-java / liquid-java/liquidjava

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

Offen
#41 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement future
Vorherrschende Sprache
Java
Sterne
67
Forks
36
Ø Merge
10 T. 18 Std.
Gemergte PRs (30 T.)
3

Beschreibung

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:
```java
LinkedList<@Refinement(“x>0”) Integer> li = new ArrayList();
li.add(10); // okay
li.add(-100; // error
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Quelldateien oder Tests genannt. Beginne damit, die bestehende Behandlung von Refinements und den Umgang von LiquidHaskell mit Listen-Refinements zu untersuchen, und untersuche anschließend die Übersetzung von Listen in SMT-LIB und das Unboxing von Integer zu int. Die Aufgabe ist abgeschlossen, wenn das LinkedList-Beispiel 10 akzeptiert und -100 ablehnt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.