Unexpected module resolution

Aperta
#712 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
compilers

Direzione di ricerca

Inizia eseguendo entrambi gli esempi di importazione su ArkScript 4.7.2 e tracciando il modo in cui l’ordine delle importazioni risolve i nomi non qualificati. Confronta la risoluzione di max con list:max importato esplicitamente e math:max qualificato. Il lavoro è completato quando entrambi gli esempi risolvono max in list:max indipendentemente dall’ordine delle importazioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
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
  • I have read existing related documentation before submitting this report
  • I have searched for an existing issue before posting
Lingua principale
C++
Stelle
729
Fork
54
Merge medio
4h 8m
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ArkScript-lang/Ark

Tutte le issue di ArkScript-lang/Ark

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.