28 lines
1.5 KiB
BQN
28 lines
1.5 KiB
BQN
%DEF file (
|
||
⟨AtRoot, Import⟩ ← ⊑•args
|
||
File ← AtRoot
|
||
CleanPath ← ! {r←•file.RealPath AtRoot"" ⋄ ≠i←/r ⍷ 𝕩? (⋈⁼i)(↑∾"..."∾(≠r)⊸+⊸↓)𝕩; 𝕩}∘•CurrentError∘@
|
||
)
|
||
|
||
(
|
||
%USE file
|
||
f ← File "imports/show.bqn"
|
||
r1 ← •Import f ⋄ ! +‿"show.bqn"‿⟨⟩ ≡ 1↓r1
|
||
r2 ← •Import f ⋄ ! +‿"show.bqn"‿⟨⟩ ≡ 1↓r2
|
||
! r1 ≡○⊑ r2
|
||
re ← •ReBQN{primitives⇐⟨'+'‿-⟩}
|
||
import2 ← RE "•Import"
|
||
r3 ← Import2 f ⋄ ! -‿"show.bqn"‿⟨⟩ ≡ 1↓r3
|
||
r4 ← Import2 f ⋄ ! -‿"show.bqn"‿⟨⟩ ≡ 1↓r4
|
||
! (⊑¨r1‿r3) ≡ ⍷⊑¨r1‿r2‿r3‿r4
|
||
)
|
||
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic.bqn""" % %USE file ⋄ Import⎊CleanPath "imports/cyclic.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic.bqn""" % %USE file ⋄ Import⎊CleanPath "imports/cyclic.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic.bqn""" % %USE file ⋄ ⟨⟩Import⎊CleanPath "imports/cyclic.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic_A.bqn""" % %USE file ⋄ Import⎊CleanPath "imports/cyclic_A.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic_B.bqn""" % %USE file ⋄ Import⎊CleanPath "imports/cyclic_B.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic_A.bqn""" % %USE file ⋄ ⟨⟩Import⎊CleanPath "imports/cyclic_B.bqn"
|
||
!"•Import 𝕩: cyclic import of "".../imports/cyclic_B.bqn""" % %USE file ⋄ ⟨⟩Import⎊CleanPath "imports/cyclic_A.bqn"
|
||
%USE file ⋄ 3 Import "imports/notCyclic.bqn" %% 30
|