aya-dev
aya-dev copied to clipboard
Library Redefinition
Assume that:
- A library
A
, which definesprim I
- A library
B
, which depends on libraryA
and defines nothing. - A library
C
, which depends on libraryA
and libraryB
, also defines nothing.
Aya said:
Compiling A
[Info] Resolving source file dependency
Done in 158ms
[Tyck] Prim (Prim.aya)
I like these modules :)
Library loaded in 412ms
Compiling A
[Info] Resolving source file dependency
Done in 1ms
[Tyck] Prim (Prim.aya)
In file Prim.aya:1:5 ->
1 | prim I
^^
Error: Redefinition of primitive `I'
Resolving interrupted due to:
1 error(s), 0 warning(s).
🔨
See here for the complete information.
😨
A
should be only compiled once by the way
A
should be only compiled once by the way
Yes, we do have that now.
We should compute SCC of dependencies before compiling the library.
We should compute SCC of dependencies before compiling the library.
The libraries won't depend on each other, so topo sorting may be enough.
We should compute SCC of dependencies before compiling the library.
The libraries won't depend on each other
Are you sure? What if they declare so?
We should compute SCC of dependencies before compiling the library.
The libraries won't depend on each other, so topo sorting may be enough.
But this is indeed caused by library dependency. And topo sorting is surely a method that computes SCC.
Just relax, I am taking care of this bug.
And topo sorting is surely a method that computes SCC.
That was amazing! I got it!
Looks like it's closed by #978