ArkScript-lang / ArkScript-lang/Ark

Unexpected module resolution

Offen
#712 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
728
Forks
54
Ø Merge
4 Std. 8 Min.
Gemergte PRs (30 T.)
2

Beschreibung

### What happened?

```
(import std.Prelude)
(import std.List:*)
(print (max [1 2]))
```
```
(import std.Prelude)
(import std.List :max)
(print (max [1 2]))
```

In both these examples, I would expect `max` to be `list:max`, but instead it's `math:max`. I find that confusing, because `math:max` is not defined nor imported without the prefix in either module.

Both examples work as I'd expect (`max` resolving to `math:max`--EDIT: `list:max`, sorry!) if the order of imports is reversed.

### What ArkScript version are you seeing the problem on?

4.7.2

### Operating System

Linux

### Compiler used

None

### Compiler version used

_No response_

### Relevant code & log output

```shell
ArityError: When calling `(math:max [1 2])', received 1 argument, but expected 2: `(math:max _a _b)'


At IP: 597, PP: 0, SP: 3
exit status 1
```

### Documentation

- [x] I have read existing related documentation before submitting this report
- [x] I have searched for an existing issue before posting

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, beide Importbeispiele mit ArkScript 4.7.2 auszuführen und nachzuverfolgen, wie die Importreihenfolge nicht qualifizierte Namen auflöst. Vergleiche die Auflösung von `max` mit dem explizit importierten `list:max` und dem qualifizierten `math:max`. Als erledigt gilt, wenn beide Beispiele `max` unabhängig von der Importreihenfolge zu `list:max` auflösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
65/100

Neue Issues direkt in Ihr Postfach

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