Package evaluation to load PlutoStaticHTML on Julia 1.14.0-DEV.2373 (cf67ecc88f*) started at 2026-06-13T23:27:57.989
################################################################################
# Set-up
#
Set-up completed after 0.11s
################################################################################
# Installation
#
Installing PlutoStaticHTML...
Resolving package versions...
Installed Bzip2_jll ─────────────────── v1.0.9+0
Installed RelocatableFolders ────────── v1.0.1
Installed AbstractTrees ─────────────── v0.4.5
Installed URIs ──────────────────────── v1.6.1
Installed HarfBuzz_jll ──────────────── v2.8.1+1
Installed Gettext_jll ───────────────── v0.21.0+0
Installed Configurations ────────────── v0.17.6
Installed Libuuid_jll ───────────────── v2.42.0+0
Installed Gumbo_jll ─────────────────── v0.10.2+0
Installed Libmount_jll ──────────────── v2.42.0+0
Installed PlutoDependencyExplorer ───── v1.2.2
Installed Tricks ────────────────────── v0.1.13
Installed ConcurrentUtilities ───────── v2.5.1
Installed CodecZlib ─────────────────── v0.7.8
Installed ExceptionUnwrapping ───────── v0.1.11
Installed OrderedCollections ────────── v1.8.2
Installed TranscodingStreams ────────── v0.11.3
Installed Cairo_jll ─────────────────── v1.18.4+0
Installed ExpressionExplorer ────────── v1.1.4
Installed PlutoStaticHTML ───────────── v7.0.11
Installed Xorg_libXau_jll ───────────── v1.0.13+0
Installed IteratorInterfaceExtensions ─ v1.0.0
Installed DataAPI ───────────────────── v1.16.0
Installed ExproniconLite ────────────── v0.10.14
Installed Compat ────────────────────── v4.18.1
Installed Xorg_libX11_jll ───────────── v1.8.13+0
Installed DataValueInterfaces ───────── v1.0.0
Installed Graphite2_jll ─────────────── v1.3.15+0
Installed PrecompileSignatures ──────── v3.0.3
Installed Malt ──────────────────────── v1.4.1
Installed GracefulPkg ───────────────── v2.4.3
Installed PrecompileTools ───────────── v1.3.4
Installed MbedTLS ───────────────────── v1.1.10
Installed OpenSSL ───────────────────── v1.6.1
Installed Libffi_jll ────────────────── v3.2.2+2
Installed Expat_jll ─────────────────── v2.8.1+0
Installed Fontconfig_jll ────────────── v2.17.1+0
Installed MIMEs ─────────────────────── v1.1.0
Installed LazilyInitializedFields ───── v1.3.0
Installed Pixman_jll ────────────────── v0.44.2+0
Installed libpng_jll ────────────────── v1.6.58+0
Installed BitFlags ──────────────────── v0.1.10
Installed LoggingExtras ─────────────── v1.2.0
Installed MsgPack ───────────────────── v1.2.1
Installed Glib_jll ──────────────────── v2.82.4+0
Installed Tables ────────────────────── v1.12.1
Installed ICU_jll ───────────────────── v69.1.0+0
Installed Xorg_libXrender_jll ───────── v0.9.12+0
Installed Scratch ───────────────────── v1.3.0
Installed HTTP ──────────────────────── v1.11.0
Installed XML2_jll ──────────────────── v2.13.9+0
Installed Xorg_libxcb_jll ───────────── v1.17.1+0
Installed SimpleBufferStream ────────── v1.2.0
Installed Xorg_libXdmcp_jll ─────────── v1.1.6+0
Installed Gumbo ─────────────────────── v0.8.3
Installed RegistryInstances ─────────── v0.1.0
Installed TableTraits ───────────────── v1.0.1
Installed Libiconv_jll ──────────────── v1.18.0+0
Installed LZO_jll ───────────────────── v2.10.3+0
Installed HypertextLiteral ──────────── v1.0.0
Installed FreeType2_jll ─────────────── v2.14.3+1
Installed JLLWrappers ───────────────── v1.8.0
Installed LLVMOpenMP_jll ────────────── v18.1.8+0
Installed MbedTLS_jll ───────────────── v2.28.1010+0
Installed HarfBuzz_ICU_jll ──────────── v2.8.1+0
Installed Xorg_xtrans_jll ───────────── v1.6.0+0
Installed tectonic_jll ──────────────── v0.15.0+0
Installed LRUCache ──────────────────── v1.6.2
Installed Xorg_libXext_jll ──────────── v1.3.8+0
Installed Preferences ───────────────── v1.5.2
Installed Pluto ─────────────────────── v0.20.27
Installing 30 artifacts
Installed artifact Xorg_libXdmcp 67.7 KiB
Installed artifact Pixman 372.2 KiB
Installed artifact Xorg_xtrans 48.2 KiB
Installed artifact LZO 208.9 KiB
Installed artifact LLVMOpenMP 661.6 KiB
Installed artifact Xorg_libXrender 435.9 KiB
Installed artifact HarfBuzz 1.1 MiB
Installed artifact HarfBuzz_ICU 116.3 KiB
Installed artifact Cairo 2.2 MiB
Installed artifact libpng 329.4 KiB
Installed artifact Graphite2 120.2 KiB
Installed artifact Expat 288.6 KiB
Installed artifact Gumbo 703.8 KiB
Installed artifact Xorg_libXau 36.6 KiB
Installed artifact Xorg_libXext 286.6 KiB
Installed artifact Libffi 34.1 KiB
Installed artifact Xorg_libxcb 2.1 MiB
Installed artifact Fontconfig 984.8 KiB
Installed artifact Libmount 6.9 MiB
Installed artifact FreeType2 1.5 MiB
Installed artifact MbedTLS 2.2 MiB
Installed artifact Bzip2 503.5 KiB
Installed artifact Libiconv 1.9 MiB
Installed artifact Libuuid 3.9 MiB
Installed artifact XML2 2.5 MiB
Installed artifact Gettext 4.5 MiB
Installed artifact tectonic 7.0 MiB
Installed artifact Glib 7.6 MiB
Installed artifact Xorg_libX11 4.8 MiB
Installed artifact ICU 14.4 MiB
Updating `~/.julia/environments/v1.14/Project.toml`
[359b1769] + PlutoStaticHTML v7.0.11
Updating `~/.julia/environments/v1.14/Manifest.toml`
[1520ce14] + AbstractTrees v0.4.5
[d1d4a3ce] + BitFlags v0.1.10
[944b1d66] + CodecZlib v0.7.8
[34da2185] + Compat v4.18.1
[f0e56b4a] + ConcurrentUtilities v2.5.1
[5218b696] + Configurations v0.17.6
[9a962f9c] + DataAPI v1.16.0
[e2d170a0] + DataValueInterfaces v1.0.0
[460bff9d] + ExceptionUnwrapping v0.1.11
[21656369] + ExpressionExplorer v1.1.4
[55351af7] + ExproniconLite v0.10.14
[828d9ff0] + GracefulPkg v2.4.3
[708ec375] + Gumbo v0.8.3
⌅ [cd3eb016] + HTTP v1.11.0
[ac1192a8] + HypertextLiteral v1.0.0
[82899510] + IteratorInterfaceExtensions v1.0.0
[692b3bcd] + JLLWrappers v1.8.0
[8ac3fa9e] + LRUCache v1.6.2
[0e77f7df] + LazilyInitializedFields v1.3.0
[e6f89c97] + LoggingExtras v1.2.0
[6c6e2e6c] + MIMEs v1.1.0
[36869731] + Malt v1.4.1
[739be429] + MbedTLS v1.1.10
[99f44e22] + MsgPack v1.2.1
[4d8831e6] + OpenSSL v1.6.1
⌅ [bac558e1] + OrderedCollections v1.8.2
⌅ [c3e4b0f8] + Pluto v0.20.27
[72656b73] + PlutoDependencyExplorer v1.2.2
[359b1769] + PlutoStaticHTML v7.0.11
[91cefc8d] + PrecompileSignatures v3.0.3
[aea7be01] + PrecompileTools v1.3.4
[21216c6a] + Preferences v1.5.2
[2792f1a3] + RegistryInstances v0.1.0
[05181044] + RelocatableFolders v1.0.1
[6c6a2e73] + Scratch v1.3.0
[777ac1f9] + SimpleBufferStream v1.2.0
[3783bdb8] + TableTraits v1.0.1
[bd369af6] + Tables v1.12.1
[3bb67fe8] + TranscodingStreams v0.11.3
[410a4b4d] + Tricks v0.1.13
[5c2747f8] + URIs v1.6.1
[6e34b625] + Bzip2_jll v1.0.9+0
⌃ [83423d85] + Cairo_jll v1.18.4+0
[2e619515] + Expat_jll v2.8.1+0
[a3f928ae] + Fontconfig_jll v2.17.1+0
[d7e528f0] + FreeType2_jll v2.14.3+1
⌅ [78b55507] + Gettext_jll v0.21.0+0
⌃ [7746bdde] + Glib_jll v2.82.4+0
[3b182d85] + Graphite2_jll v1.3.15+0
[528830af] + Gumbo_jll v0.10.2+0
⌃ [655565e8] + HarfBuzz_ICU_jll v2.8.1+0
⌅ [2e76f6c2] + HarfBuzz_jll v2.8.1+1
⌅ [a51ab1cf] + ICU_jll v69.1.0+0
[1d63c593] + LLVMOpenMP_jll v18.1.8+0
[dd4b983a] + LZO_jll v2.10.3+0
⌅ [e9f186c6] + Libffi_jll v3.2.2+2
[94ce4f54] + Libiconv_jll v1.18.0+0
[4b2f31a3] + Libmount_jll v2.42.0+0
[38a345b3] + Libuuid_jll v2.42.0+0
[c8ffd9c3] + MbedTLS_jll v2.28.1010+0
⌅ [30392449] + Pixman_jll v0.44.2+0
⌅ [02c8fc9c] + XML2_jll v2.13.9+0
[4f6342f7] + Xorg_libX11_jll v1.8.13+0
[0c0b7dd1] + Xorg_libXau_jll v1.0.13+0
[a3789734] + Xorg_libXdmcp_jll v1.1.6+0
[1082639a] + Xorg_libXext_jll v1.3.8+0
[ea2f1a96] + Xorg_libXrender_jll v0.9.12+0
[c7cfdc94] + Xorg_libxcb_jll v1.17.1+0
[c5fb5394] + Xorg_xtrans_jll v1.6.0+0
[b53b4c65] + libpng_jll v1.6.58+0
[d7dd28d6] + tectonic_jll v0.15.0+0
[0dad84c5] + ArgTools v1.2.0
[56f22d72] + Artifacts v1.11.0
[2a0f44e3] + Base64 v1.11.0
[ade2ca70] + Dates v1.11.0
[8ba89e20] + Distributed v1.11.0
[f43a241f] + Downloads v1.7.0
[7b1f6079] + FileWatching v1.11.0
[b77e0a4c] + InteractiveUtils v1.11.0
[ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0
[4af54fe1] + LazyArtifacts v1.11.0
[b27032c2] + LibCURL v1.0.0
[76f85450] + LibGit2 v1.11.0
[8f399da3] + Libdl v1.11.0
[56ddb016] + Logging v1.11.0
[d6f4376e] + Markdown v1.11.0
[ca575930] + NetworkOptions v1.3.0
[44cfe95a] + Pkg v1.14.0
[de0858da] + Printf v1.11.0
[3fa0cd96] + REPL v1.11.0
[9a3f8284] + Random v1.11.0
[ea8e919c] + SHA v1.13.0
[9e88b42a] + Serialization v1.11.0
[6462fe0b] + Sockets v1.11.0
[f489334b] + StyledStrings v1.13.0
[fa267f1f] + TOML v1.0.3
[a4e569a6] + Tar v1.10.0
[8dfed614] + Test v1.11.0
[cf7118a7] + UUIDs v1.11.0
[4ec0a83e] + Unicode v1.11.0
[e66e0078] + CompilerSupportLibraries_jll v1.5.2+0
[deac9b47] + LibCURL_jll v8.20.0+1
[e37daf67] + LibGit2_jll v1.9.4+0
[29816b5a] + LibSSH2_jll v1.11.101+0
[14a3606d] + MozillaCACerts_jll v2026.5.14
[458c3c95] + OpenSSL_jll v3.5.7+0
[efcefdf7] + PCRE2_jll v10.47.0+0
[83775a58] + Zlib_jll v1.3.2+0
[3161d3a3] + Zstd_jll v1.5.7+1
[8e850ede] + nghttp2_jll v1.69.0+0
[3f19e933] + p7zip_jll v17.8.0+0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`
Installation completed after 22.49s
################################################################################
# Precompilation
#
Precompiling PkgEval dependencies...
Project No packages added to or removed from `~/.julia/environments/pkgeval/Project.toml`
Manifest No packages added to or removed from `~/.julia/environments/pkgeval/Manifest.toml`
Precompiling package dependencies...
Precompiling project...
1.1 s ✓ DataAPI
3.7 s ✓ ExproniconLite
1.2 s ✓ Tricks
0.5 s ✓ DataValueInterfaces
34.8 s ✓ URIs
0.9 s ✓ LazilyInitializedFields
133.1 s ✓ OrderedCollections
2.2 s ✓ PrecompileSignatures
34.6 s ✓ BitFlags
65.8 s ✓ AbstractTrees
83.2 s ✓ LRUCache
1.5 s ✓ ExpressionExplorer
48.2 s ✓ TranscodingStreams
0.7 s ✓ SimpleBufferStream
3.4 s ✓ MIMEs
0.5 s ✓ IteratorInterfaceExtensions
1.5 s ✓ MsgPack
1.5 s ✓ ConcurrentUtilities
1.9 s ✓ Scratch
2.3 s ✓ LoggingExtras
1.4 s ✓ Compat
2.5 s ✓ Preferences
35.7 s ✓ ExceptionUnwrapping
1.6 s ✓ HypertextLiteral
7.5 s ✓ RegistryInstances
39.6 s ✓ Configurations
70.9 s ✓ OpenSSL
32.6 s ✓ LRUCache → SerializationExt
[0K┌ Info: JuliaLowering threw given input:
[0K│ code =
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =# Core.@doc "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" function (topological_order(topology::NotebookTopology{C}, roots::AbstractVector{C}; allow_multiple_defs::Bool = false, skip_at_partial_multiple_defs::Bool = false)::TopologicalOrder{C}) where C <: AbstractCell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:26 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:31 =#
[0K│ if skip_at_partial_multiple_defs
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =# @assert allow_multiple_defs
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:35 =#
[0K│ entries = C[]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:36 =#
[0K│ exits = C[]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:37 =#
[0K│ errable = Dict{C, ReactivityError}()
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
[0K│ function bfs(cell::C)::ChildExplorationResult
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:41 =#
[0K│ if cell in exits
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:42 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:43 =# haskey(errable, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:44 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:45 =# length(entries) > 0 && entries[var"end"] === cell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:46 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:47 =# cell in entries
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:48 =#
[0K│ currently_in = setdiff(entries, exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:49 =#
[0K│ cycle = currently_in[findfirst(isequal(cell), currently_in):var"end"]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:51 =#
[0K│ if !(cycle_is_among_functions(topology, cycle))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:52 =#
[0K│ for cell = cycle
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:53 =#
[0K│ errable[cell] = CyclicReferenceError(topology, cycle)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:54 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:55 =#
[0K│ return Cycle(cycle)
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:58 =#
[0K│ return Ok()
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:62 =#
[0K│ current_entries_num = length(entries)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:63 =#
[0K│ current_exits_num = length(exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:65 =#
[0K│ push!(entries, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:67 =#
[0K│ assigners = where_assigned(topology, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:68 =#
[0K│ referencers = where_referenced(topology, cell) |> Iterators.reverse
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:70 =#
[0K│ if !allow_multiple_defs && length(assigners) > 1
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:71 =#
[0K│ for c = assigners
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:72 =#
[0K│ errable[c] = MultipleDefinitionsError(topology, c, assigners)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:73 =#
[0K│ end
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
[0K│ should_continue_search_down = !skip_at_partial_multiple_defs || all((c->begin
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
[0K│ c === cell || c ∈ exits
[0K│ end), assigners)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:77 =#
[0K│ should_search_fellow_assigners_if_any = !allow_multiple_defs
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:79 =#
[0K│ to_search_next = if should_continue_search_down
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:80 =#
[0K│ if should_search_fellow_assigners_if_any
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:81 =#
[0K│ union(assigners, referencers)
[0K│ else
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:83 =#
[0K│ referencers
[0K│ end
[0K│ else
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:86 =#
[0K│ C[]
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:89 =#
[0K│ for c = to_search_next
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:90 =#
[0K│ if c !== cell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:91 =#
[0K│ child_result = bfs(c)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:94 =#
[0K│ if child_result isa Ok || cell ∉ child_result.cycled_cells
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:95 =#
[0K│ continue
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:102 =#
[0K│ if !(is_soft_edge(topology, cell, c))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:104 =#
[0K│ deleteat!(entries, current_entries_num + 1:length(entries))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:105 =#
[0K│ deleteat!(exits, current_exits_num + 1:length(exits))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:106 =#
[0K│ return child_result
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:111 =#
[0K│ for cycled_cell = child_result.cycled_cells
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:112 =#
[0K│ delete!(errable, cycled_cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:113 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:115 =#
[0K│ if entries[var"end"] === c
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:116 =#
[0K│ pop!(entries)
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:119 =#
[0K│ continue
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:121 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:122 =#
[0K│ push!(exits, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:123 =#
[0K│ Ok()
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
[0K│ prelim_order_1 = sort(roots, alg = MergeSort, by = (c->begin
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
[0K│ cell_precedence_heuristic(topology, c)
[0K│ end))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:130 =#
[0K│ for i = length(prelim_order_1):-1:1
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:131 =#
[0K│ bfs(prelim_order_1[i])
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:132 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:133 =#
[0K│ ordered = reverse(exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:134 =#
[0K│ TopologicalOrder(topology, setdiff(ordered, keys(errable)), errable)
[0K│ end)
[0K│ st0 =
[0K│ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__
[0K│ [macrocall] │
[0K│ @doc :: Identifier │ mod
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) :: Value │
[0K│ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │
[0K│ [function] │
[0K│ [where] │
[0K│ [::] │
[0K│ [call] │
[0K│ topological_order :: Identifier │
[0K│ [parameters] │
[0K│ [kw] │
[0K│ [::] │
[0K│ allow_multiple_defs :: Identifier │
[0K│ Bool :: Identifier │
[0K│ false :: Value │
[0K│ [kw] │
[0K│ [::] │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ Bool :: Identifier │
[0K│ false :: Value │
[0K│ [::] │
[0K│ topology :: Identifier │
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │
[0K│ C :: Identifier │
[0K│ [::] │
[0K│ roots :: Identifier │
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │
[0K│ C :: Identifier │
[0K│ [curly] │
[0K│ TopologicalOrder :: Identifier │
[0K│ C :: Identifier │
[0K│ [<:] │
[0K│ C :: Identifier │
[0K│ AbstractCell :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ [block] │
[0K│ [macrocall] │
[0K│ @assert :: Identifier │
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) :: Value │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [=] │
[0K│ entries :: Identifier │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [=] │
[0K│ exits :: Identifier │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [=] │
[0K│ errable :: Identifier │
[0K│ [call] │
[0K│ [curly] │
[0K│ Dict :: Identifier │
[0K│ C :: Identifier │
[0K│ ReactivityError :: Identifier │
[0K│ [function] │
[0K│ [::] │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ [::] │
[0K│ cell :: Identifier │
[0K│ C :: Identifier │
[0K│ ChildExplorationResult :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ in :: Identifier │
[0K│ cell :: Identifier │
[0K│ exits :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ haskey :: Identifier │
[0K│ errable :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [&&] │
[0K│ [call] │
[0K│ > :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ 0 :: Value │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ [ref] │
[0K│ entries :: Identifier │
[0K│ end :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ in :: Identifier │
[0K│ cell :: Identifier │
[0K│ entries :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ currently_in :: Identifier │
[0K│ [call] │
[0K│ setdiff :: Identifier │
[0K│ entries :: Identifier │
[0K│ exits :: Identifier │
[0K│ [=] │
[0K│ cycle :: Identifier │
[0K│ [ref] │
[0K│ currently_in :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ findfirst :: Identifier │
[0K│ [call] │
[0K│ isequal :: Identifier │
[0K│ cell :: Identifier │
[0K│ currently_in :: Identifier │
[0K│ end :: Identifier │
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ [call] │
[0K│ cycle_is_among_functions :: Identifier │
[0K│ topology :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ cell :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ CyclicReferenceError :: Identifier │
[0K│ topology :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [return] │
[0K│ [call] │
[0K│ Cycle :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [=] │
[0K│ current_entries_num :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ [=] │
[0K│ current_exits_num :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ push! :: Identifier │
[0K│ entries :: Identifier │
[0K│ cell :: Identifier │
[0K│ [=] │
[0K│ assigners :: Identifier │
[0K│ [call] │
[0K│ where_assigned :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ [=] │
[0K│ referencers :: Identifier │
[0K│ [call] │
[0K│ |> :: Identifier │
[0K│ [call] │
[0K│ where_referenced :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ [.] │
[0K│ Iterators :: Identifier │
[0K│ [inert] │
[0K│ reverse :: Identifier │
[0K│ [if] │
[0K│ [&&] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [call] │
[0K│ > :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ assigners :: Identifier │
[0K│ 1 :: Value │
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │
[0K│ c :: Identifier │
[0K│ [call] │
[0K│ MultipleDefinitionsError :: Identifier │
[0K│ topology :: Identifier │
[0K│ c :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [=] │
[0K│ should_continue_search_down :: Identifier │
[0K│ [||] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ [call] │
[0K│ all :: Identifier │
[0K│ [->] │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [||] │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ c :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ ∈ :: Identifier │
[0K│ c :: Identifier │
[0K│ exits :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [=] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [=] │
[0K│ to_search_next :: Identifier │
[0K│ [if] │
[0K│ should_continue_search_down :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ union :: Identifier │
[0K│ assigners :: Identifier │
[0K│ referencers :: Identifier │
[0K│ [block] │
[0K│ referencers :: Identifier │
[0K│ [block] │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │
[0K│ to_search_next :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ !== :: Identifier │
[0K│ c :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ child_result :: Identifier │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ c :: Identifier │
[0K│ [if] │
[0K│ [||] │
[0K│ [call] │
[0K│ isa :: Identifier │
[0K│ child_result :: Identifier │
[0K│ Ok :: Identifier │
[0K│ [call] │
[0K│ ∉ :: Identifier │
[0K│ cell :: Identifier │
[0K│ [.] │
[0K│ child_result :: Identifier │
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [continue] │
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ [call] │
[0K│ is_soft_edge :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ deleteat! :: Identifier │
[0K│ entries :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ + :: Identifier │
[0K│ current_entries_num :: Identifier │
[0K│ 1 :: Value │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ [call] │
[0K│ deleteat! :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ + :: Identifier │
[0K│ current_exits_num :: Identifier │
[0K│ 1 :: Value │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ exits :: Identifier │
[0K│ [return] │
[0K│ child_result :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ cycled_cell :: Identifier │
[0K│ [.] │
[0K│ child_result :: Identifier │
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ delete! :: Identifier │
[0K│ errable :: Identifier │
[0K│ cycled_cell :: Identifier │
[0K│ [if] │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ [ref] │
[0K│ entries :: Identifier │
[0K│ end :: Identifier │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ pop! :: Identifier │
[0K│ entries :: Identifier │
[0K│ [continue] │
[0K│ [call] │
[0K│ push! :: Identifier │
[0K│ exits :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [=] │
[0K│ prelim_order_1 :: Identifier │
[0K│ [call] │
[0K│ sort :: Identifier │
[0K│ roots :: Identifier │
[0K│ [kw] │
[0K│ alg :: Identifier │
[0K│ MergeSort :: Identifier │
[0K│ [kw] │
[0K│ by :: Identifier │
[0K│ [->] │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ cell_precedence_heuristic :: Identifier │
[0K│ topology :: Identifier │
[0K│ c :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ i :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ prelim_order_1 :: Identifier │
[0K│ -1 :: Value │
[0K│ 1 :: Value │
[0K│ [block] │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ [ref] │
[0K│ prelim_order_1 :: Identifier │
[0K│ i :: Identifier │
[0K│ [=] │
[0K│ ordered :: Identifier │
[0K│ [call] │
[0K│ reverse :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ TopologicalOrder :: Identifier │
[0K│ topology :: Identifier │
[0K│ [call] │
[0K│ setdiff :: Identifier │
[0K│ ordered :: Identifier │
[0K│ [call] │
[0K│ keys :: Identifier │
[0K│ errable :: Identifier │
[0K│ errable :: Identifier │
[0K│
[0K│ st1 =
[0K│ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source
[0K│ [block] │
[0K│ [=] │
[0K│ val :: Identifier │ scope_layer=3
[0K│ [function] │
[0K│ [where] │
[0K│ [::] │
[0K│ [call] │
[0K│ topological_order :: Identifier │ scope_layer=1
[0K│ [parameters] │
[0K│ [kw] │
[0K│ [::] │
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ Bool :: Identifier │ scope_layer=1
[0K│ false :: Value │ macro_source=405
[0K│ [kw] │
[0K│ [::] │
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ Bool :: Identifier │ scope_layer=1
[0K│ false :: Value │ macro_source=405
[0K│ [::] │
[0K│ topology :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [::] │
[0K│ roots :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ TopologicalOrder :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [<:] │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ AbstractCell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ nothing :: Value │ macro_source=405
[0K│ [call] │
[0K│ throw :: Identifier │ mod,scope_layer=1
[0K│ [call] │
[0K│ AssertionError :: Identifier │ mod,scope_layer=1
[0K│ "allow_multiple_defs" :: Value │ macro_source=405
[0K│ [=] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ [curly] │
[0K│ Dict :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ ReactivityError :: Identifier │ scope_layer=1
[0K│ [function] │
[0K│ [::] │
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ [::] │
[0K│ cell :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ ChildExplorationResult :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ in :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ haskey :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [&&] │
[0K│ [call] │
[0K│ > :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ 0 :: Value │ macro_source=405
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ in :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ setdiff :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ findfirst :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ isequal :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ cycle_is_among_functions :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ cell :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ CyclicReferenceError :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ [call] │
[0K│ Cycle :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ current_entries_num :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ current_exits_num :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ push! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ where_assigned :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ |> :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ where_referenced :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ Iterators :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ reverse :: Identifier │
[0K│ [if] │
[0K│ [&&] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ > :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ MultipleDefinitionsError :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ should_continue_search_down :: Identifier │ scope_layer=1
[0K│ [||] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ all :: Identifier │ scope_layer=1
[0K│ [->] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [||] │
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ∈ :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ to_search_next :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ should_continue_search_down :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ union :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ to_search_next :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ !== :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [||] │
[0K│ [call] │
[0K│ isa :: Identifier │ scope_layer=1
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ∉ :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │ macro_source=405
[0K│ [continue] │ macro_source=405
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ is_soft_edge :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ deleteat! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ + :: Identifier │ scope_layer=1
[0K│ current_entries_num :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ deleteat! :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ + :: Identifier │ scope_layer=1
[0K│ current_exits_num :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ cycled_cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ delete! :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cycled_cell :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ pop! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [continue] │ macro_source=405
[0K│ [call] │
[0K│ push! :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ sort :: Identifier │ scope_layer=1
[0K│ roots :: Identifier │ scope_layer=1
[0K│ [kw] │
[0K│ alg :: Identifier │ scope_layer=1
[0K│ MergeSort :: Identifier │ scope_layer=1
[0K│ [kw] │
[0K│ by :: Identifier │ scope_layer=1
[0K│ [->] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ cell_precedence_heuristic :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ i :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ -1 :: Value │ macro_source=405
[0K│ 1 :: Value │ macro_source=405
[0K│ [block] │
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ i :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ ordered :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ reverse :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ TopologicalOrder :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ setdiff :: Identifier │ scope_layer=1
[0K│ ordered :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ keys :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ Base.Docs.doc! :: Value │ macro_source=405
[0K│ PlutoDependencyExplorer :: Value │ macro_source=405
[0K│ [call] │
[0K│ Base.Docs.Binding :: Value │ macro_source=405
[0K│ PlutoDependencyExplorer :: Value │
[0K│ [inert] │ jl_source=L65
[0K│ topological_order :: Identifier │
[0K│ [call] │ macro_source=405
[0K│ Base.Docs.docstr :: Value │ macro_source=405
[0K│ [call] │ macro_source=405
[0K│ Core.svec :: Value │ macro_source=405
[0K│ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │ macro_source=405
[0K│ [call] │ macro_source=405
[0K│ Dict{Symbol, Any} :: Value │ macro_source=405
[0K│ :path => "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl" :: Value │ macro_source=405
[0K│ :linenumber => 8 :: Value │ macro_source=405
[0K│ :module => PlutoDependencyExplorer :: Value │ macro_source=405
[0K│ [where] │
[0K│ [curly] │
[0K│ Union :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ Tuple :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ Tuple :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [<:] │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ AbstractCell :: Identifier │ scope_layer=1
[0K│ val :: Identifier │ scope_layer=3
[0K│
[0K│ file = "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl"
[0K│ line = 8
[0K└ mod = PlutoDependencyExplorer
[0KERROR: LoadError: LoweringError:
[0K#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# - Found unexpected binding of kind static_parameter
[0KExpression:
[0K #₅₄/C
[0KContaining expressions:
[0K (= #₁₇₄/C #₅₄/C)
[0K (= #₃ (call core.svec (call core.svec #₁₄₃/##kw_body#topological_order#0#bfs##0 #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
[0K (= #₃ (call core.svec (call core.svec (function_type #₅₆/bfs) #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
[0K
[0KDetailed provenance:
[0K #₅₄/C
[0K └─ C
[0K └─ C
[0K ├─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40
[0K └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" (function (where (:: (call topological_order (parameters (kw (:: allow_multiple_defs Bool) false) (kw (:: skip_at_partial_multiple_defs Bool) false)) (:: topology (curly NotebookTopology C)) (:: roots (curly AbstractVector C))) (curly TopologicalOrder C)) (<: C AbstractCell)) (block (if skip_at_partial_multiple_defs (block (macrocall @assert :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) allow_multiple_defs))) (= entries (ref C)) (= exits (ref C)) (= errable (call (curly Dict C ReactivityError))) (function (:: (call bfs (:: cell C)) ChildExplorationResult) (block (if (call in cell exits) (block (return (call Ok))) (elseif (block (call haskey errable cell)) (block (return (call Ok))) (elseif (block (&& (call > (call length entries) 0) (call === (ref entries end) cell))) (block (return (call Ok))) (elseif (block (call in cell entries)) (block (= currently_in (call setdiff entries exits)) (= cycle (ref currently_in (call : (call findfirst (call isequal cell) currently_in) end))) (if (call ! (call cycle_is_among_functions topology cycle)) (block (for (= cell cycle) (block (= (ref errable cell) (call CyclicReferenceError topology cycle)))) (return (call Cycle cycle)))) (return (call Ok))))))) (= current_entries_num (call length entries)) (= current_exits_num (call length exits)) (call push! entries cell) (= assigners (call where_assigned topology cell)) (= referencers (call |> (call where_referenced topology cell) (. Iterators (inert reverse)))) (if (&& (call ! allow_multiple_defs) (call > (call length assigners) 1)) (block (for (= c assigners) (block (= (ref errable c) (call MultipleDefinitionsError topology c assigners)))))) (= should_continue_search_down (|| (call ! skip_at_partial_multiple_defs) (call all (-> c (block (|| (call === c cell) (call ∈ c exits)))) assigners))) (= should_search_fellow_assigners_if_any (call ! allow_multiple_defs)) (= to_search_next (if should_continue_search_down (block (if should_search_fellow_assigners_if_any (block (call union assigners referencers)) (block referencers))) (block (ref C)))) (for (= c to_search_next) (block (if (call !== c cell) (block (= child_result (call bfs c)) (if (|| (call isa child_result Ok) (call ∉ cell (. child_result (inert cycled_cells)))) (block (continue))) (if (call ! (call is_soft_edge topology cell c)) (block (call deleteat! entries (call : (call + current_entries_num 1) (call length entries))) (call deleteat! exits (call : (call + current_exits_num 1) (call length exits))) (return child_result))) (for (= cycled_cell (. child_result (inert cycled_cells))) (block (call delete! errable cycled_cell))) (if (call === (ref entries end) c) (block (call pop! entries))) (continue))))) (call push! exits cell) (call Ok))) (= prelim_order_1 (call sort roots (kw alg MergeSort) (kw by (-> c (block (call cell_precedence_heuristic topology c)))))) (for (= i (call : (call length prelim_order_1) -1 1)) (block (call bfs (ref prelim_order_1 i)))) (= ordered (call reverse exits)) (call TopologicalOrder topology (call setdiff ordered (call keys errable)) errable))))
[0K └─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
[0K
[0KStacktrace:
[0K [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097
[0K [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162
[0K [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257
[0K [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287
[0K [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33
[0K [6] include(mapexpr::Function, mod::Module, _path::String)
[0K @ Base Base.jl:326
[0K [7] top-level scope
[0K @ ~/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:24
[0K [8] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [9] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [10] top-level scope
[0K @ stdin:5
[0K [11] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [13] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [14] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [15] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:2
[0Kin expression starting at stdin:5
✗ PlutoDependencyExplorer
18.2 s ✓ CodecZlib
0.5 s ✓ TableTraits
1.9 s ✓ RelocatableFolders
0.6 s ✓ Compat → CompatLinearAlgebraExt
2.7 s ✓ JLLWrappers
2.6 s ✓ PrecompileTools
133.6 s ✓ Tables
20.4 s ✓ Malt
6.6 s ✓ GracefulPkg
3.1 s ✓ Libmount_jll
2.9 s ✓ ICU_jll
2.8 s ✓ Libffi_jll
2.8 s ✓ LZO_jll
3.0 s ✓ Graphite2_jll
3.1 s ✓ Libuuid_jll
3.1 s ✓ libpng_jll
2.9 s ✓ Bzip2_jll
3.0 s ✓ LLVMOpenMP_jll
3.0 s ✓ Libiconv_jll
3.1 s ✓ MbedTLS_jll
3.0 s ✓ Gumbo_jll
3.0 s ✓ Xorg_libXau_jll
2.9 s ✓ Xorg_libXdmcp_jll
2.9 s ✓ Expat_jll
2.3 s ✓ Xorg_xtrans_jll
3.1 s ✓ FreeType2_jll
3.1 s ✓ Pixman_jll
3.1 s ✓ XML2_jll
3.5 s ✓ MbedTLS
39.3 s ✓ Gumbo
3.0 s ✓ Xorg_libxcb_jll
3.3 s ✓ Fontconfig_jll
3.0 s ✓ Gettext_jll
124.6 s ✓ HTTP
3.2 s ✓ Xorg_libX11_jll
3.1 s ✓ Glib_jll
[0KERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("72656b73-756c-7461-726b-72656b6b696b"), "PlutoDependencyExplorer") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0)
[0KStacktrace:
[0K [1] error(s::String)
[0K @ Base error.jl:56
[0K [2] __require_prelocked(pkg::Base.PkgId, env::String)
[0K @ Base loading.jl:2837
[0K [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
[0K @ Base loading.jl:2685
[0K [4] macro expansion
[0K @ loading.jl:2599 [inlined]
[0K [5] macro expansion
[0K @ lock.jl:376 [inlined]
[0K [6] __require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2563
[0K [7] require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2539 [inlined]
[0K [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)
[0K @ Base module.jl:36 [inlined]
[0K [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
[0K @ Base module.jl:60
[0K [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base module.jl:101
[0K [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195
[0K [12] top-level scope
[0K @ ~/.julia/packages/Pluto/MwmFc/src/Pluto.jl:43
[0K [13] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [15] top-level scope
[0K @ stdin:5
[0K [16] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [18] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [19] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [20] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/Pluto/MwmFc/src/Pluto.jl:1
[0Kin expression starting at stdin:5
✗ Pluto
3.1 s ✓ Xorg_libXrender_jll
3.0 s ✓ Xorg_libXext_jll
3.2 s ✓ Cairo_jll
3.0 s ✓ HarfBuzz_jll
2.9 s ✓ HarfBuzz_ICU_jll
3.1 s ✓ tectonic_jll
[0KERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("c3e4b0f8-55cb-11ea-2926-15256bba5781"), "Pluto") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0)
[0KStacktrace:
[0K [1] error(s::String)
[0K @ Base error.jl:56
[0K [2] __require_prelocked(pkg::Base.PkgId, env::String)
[0K @ Base loading.jl:2837
[0K [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
[0K @ Base loading.jl:2685
[0K [4] macro expansion
[0K @ loading.jl:2599 [inlined]
[0K [5] macro expansion
[0K @ lock.jl:376 [inlined]
[0K [6] __require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2563
[0K [7] require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2539 [inlined]
[0K [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)
[0K @ Base module.jl:36 [inlined]
[0K [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
[0K @ Base module.jl:60
[0K [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base module.jl:101
[0K [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195
[0K [12] top-level scope
[0K @ ~/.julia/packages/PlutoStaticHTML/QbnhG/src/PlutoStaticHTML.jl:10
[0K [13] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [15] top-level scope
[0K @ stdin:5
[0K [16] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [18] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [19] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [20] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoStaticHTML/QbnhG/src/PlutoStaticHTML.jl:1
[0Kin expression starting at stdin:5
✗ PlutoStaticHTML
70 dependencies successfully precompiled in 1095 seconds. 34 already precompiled.
Precompilation completed after 1114.21s
################################################################################
# Loading
#
Loading PlutoStaticHTML...
[0K┌ Info: JuliaLowering threw given input:
[0K│ code =
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =# Core.@doc "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" function (topological_order(topology::NotebookTopology{C}, roots::AbstractVector{C}; allow_multiple_defs::Bool = false, skip_at_partial_multiple_defs::Bool = false)::TopologicalOrder{C}) where C <: AbstractCell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:26 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:31 =#
[0K│ if skip_at_partial_multiple_defs
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =# @assert allow_multiple_defs
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:35 =#
[0K│ entries = C[]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:36 =#
[0K│ exits = C[]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:37 =#
[0K│ errable = Dict{C, ReactivityError}()
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
[0K│ function bfs(cell::C)::ChildExplorationResult
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:41 =#
[0K│ if cell in exits
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:42 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:43 =# haskey(errable, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:44 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:45 =# length(entries) > 0 && entries[var"end"] === cell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:46 =#
[0K│ return Ok()
[0K│ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:47 =# cell in entries
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:48 =#
[0K│ currently_in = setdiff(entries, exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:49 =#
[0K│ cycle = currently_in[findfirst(isequal(cell), currently_in):var"end"]
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:51 =#
[0K│ if !(cycle_is_among_functions(topology, cycle))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:52 =#
[0K│ for cell = cycle
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:53 =#
[0K│ errable[cell] = CyclicReferenceError(topology, cycle)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:54 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:55 =#
[0K│ return Cycle(cycle)
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:58 =#
[0K│ return Ok()
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:62 =#
[0K│ current_entries_num = length(entries)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:63 =#
[0K│ current_exits_num = length(exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:65 =#
[0K│ push!(entries, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:67 =#
[0K│ assigners = where_assigned(topology, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:68 =#
[0K│ referencers = where_referenced(topology, cell) |> Iterators.reverse
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:70 =#
[0K│ if !allow_multiple_defs && length(assigners) > 1
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:71 =#
[0K│ for c = assigners
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:72 =#
[0K│ errable[c] = MultipleDefinitionsError(topology, c, assigners)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:73 =#
[0K│ end
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
[0K│ should_continue_search_down = !skip_at_partial_multiple_defs || all((c->begin
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
[0K│ c === cell || c ∈ exits
[0K│ end), assigners)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:77 =#
[0K│ should_search_fellow_assigners_if_any = !allow_multiple_defs
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:79 =#
[0K│ to_search_next = if should_continue_search_down
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:80 =#
[0K│ if should_search_fellow_assigners_if_any
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:81 =#
[0K│ union(assigners, referencers)
[0K│ else
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:83 =#
[0K│ referencers
[0K│ end
[0K│ else
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:86 =#
[0K│ C[]
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:89 =#
[0K│ for c = to_search_next
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:90 =#
[0K│ if c !== cell
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:91 =#
[0K│ child_result = bfs(c)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:94 =#
[0K│ if child_result isa Ok || cell ∉ child_result.cycled_cells
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:95 =#
[0K│ continue
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:102 =#
[0K│ if !(is_soft_edge(topology, cell, c))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:104 =#
[0K│ deleteat!(entries, current_entries_num + 1:length(entries))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:105 =#
[0K│ deleteat!(exits, current_exits_num + 1:length(exits))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:106 =#
[0K│ return child_result
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:111 =#
[0K│ for cycled_cell = child_result.cycled_cells
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:112 =#
[0K│ delete!(errable, cycled_cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:113 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:115 =#
[0K│ if entries[var"end"] === c
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:116 =#
[0K│ pop!(entries)
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:119 =#
[0K│ continue
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:121 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:122 =#
[0K│ push!(exits, cell)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:123 =#
[0K│ Ok()
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
[0K│ prelim_order_1 = sort(roots, alg = MergeSort, by = (c->begin
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
[0K│ cell_precedence_heuristic(topology, c)
[0K│ end))
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:130 =#
[0K│ for i = length(prelim_order_1):-1:1
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:131 =#
[0K│ bfs(prelim_order_1[i])
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:132 =#
[0K│ end
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:133 =#
[0K│ ordered = reverse(exits)
[0K│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:134 =#
[0K│ TopologicalOrder(topology, setdiff(ordered, keys(errable)), errable)
[0K│ end)
[0K│ st0 =
[0K│ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__
[0K│ [macrocall] │
[0K│ @doc :: Identifier │ mod
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) :: Value │
[0K│ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │
[0K│ [function] │
[0K│ [where] │
[0K│ [::] │
[0K│ [call] │
[0K│ topological_order :: Identifier │
[0K│ [parameters] │
[0K│ [kw] │
[0K│ [::] │
[0K│ allow_multiple_defs :: Identifier │
[0K│ Bool :: Identifier │
[0K│ false :: Value │
[0K│ [kw] │
[0K│ [::] │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ Bool :: Identifier │
[0K│ false :: Value │
[0K│ [::] │
[0K│ topology :: Identifier │
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │
[0K│ C :: Identifier │
[0K│ [::] │
[0K│ roots :: Identifier │
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │
[0K│ C :: Identifier │
[0K│ [curly] │
[0K│ TopologicalOrder :: Identifier │
[0K│ C :: Identifier │
[0K│ [<:] │
[0K│ C :: Identifier │
[0K│ AbstractCell :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ [block] │
[0K│ [macrocall] │
[0K│ @assert :: Identifier │
[0K│ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) :: Value │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [=] │
[0K│ entries :: Identifier │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [=] │
[0K│ exits :: Identifier │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [=] │
[0K│ errable :: Identifier │
[0K│ [call] │
[0K│ [curly] │
[0K│ Dict :: Identifier │
[0K│ C :: Identifier │
[0K│ ReactivityError :: Identifier │
[0K│ [function] │
[0K│ [::] │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ [::] │
[0K│ cell :: Identifier │
[0K│ C :: Identifier │
[0K│ ChildExplorationResult :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ in :: Identifier │
[0K│ cell :: Identifier │
[0K│ exits :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ haskey :: Identifier │
[0K│ errable :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [&&] │
[0K│ [call] │
[0K│ > :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ 0 :: Value │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ [ref] │
[0K│ entries :: Identifier │
[0K│ end :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ in :: Identifier │
[0K│ cell :: Identifier │
[0K│ entries :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ currently_in :: Identifier │
[0K│ [call] │
[0K│ setdiff :: Identifier │
[0K│ entries :: Identifier │
[0K│ exits :: Identifier │
[0K│ [=] │
[0K│ cycle :: Identifier │
[0K│ [ref] │
[0K│ currently_in :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ findfirst :: Identifier │
[0K│ [call] │
[0K│ isequal :: Identifier │
[0K│ cell :: Identifier │
[0K│ currently_in :: Identifier │
[0K│ end :: Identifier │
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ [call] │
[0K│ cycle_is_among_functions :: Identifier │
[0K│ topology :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ cell :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ CyclicReferenceError :: Identifier │
[0K│ topology :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [return] │
[0K│ [call] │
[0K│ Cycle :: Identifier │
[0K│ cycle :: Identifier │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [=] │
[0K│ current_entries_num :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ [=] │
[0K│ current_exits_num :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ push! :: Identifier │
[0K│ entries :: Identifier │
[0K│ cell :: Identifier │
[0K│ [=] │
[0K│ assigners :: Identifier │
[0K│ [call] │
[0K│ where_assigned :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ [=] │
[0K│ referencers :: Identifier │
[0K│ [call] │
[0K│ |> :: Identifier │
[0K│ [call] │
[0K│ where_referenced :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ [.] │
[0K│ Iterators :: Identifier │
[0K│ [inert] │
[0K│ reverse :: Identifier │
[0K│ [if] │
[0K│ [&&] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [call] │
[0K│ > :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ assigners :: Identifier │
[0K│ 1 :: Value │
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │
[0K│ c :: Identifier │
[0K│ [call] │
[0K│ MultipleDefinitionsError :: Identifier │
[0K│ topology :: Identifier │
[0K│ c :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [=] │
[0K│ should_continue_search_down :: Identifier │
[0K│ [||] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ skip_at_partial_multiple_defs :: Identifier │
[0K│ [call] │
[0K│ all :: Identifier │
[0K│ [->] │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [||] │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ c :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ ∈ :: Identifier │
[0K│ c :: Identifier │
[0K│ exits :: Identifier │
[0K│ assigners :: Identifier │
[0K│ [=] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ allow_multiple_defs :: Identifier │
[0K│ [=] │
[0K│ to_search_next :: Identifier │
[0K│ [if] │
[0K│ should_continue_search_down :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ union :: Identifier │
[0K│ assigners :: Identifier │
[0K│ referencers :: Identifier │
[0K│ [block] │
[0K│ referencers :: Identifier │
[0K│ [block] │
[0K│ [ref] │
[0K│ C :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │
[0K│ to_search_next :: Identifier │
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ !== :: Identifier │
[0K│ c :: Identifier │
[0K│ cell :: Identifier │
[0K│ [block] │
[0K│ [=] │
[0K│ child_result :: Identifier │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ c :: Identifier │
[0K│ [if] │
[0K│ [||] │
[0K│ [call] │
[0K│ isa :: Identifier │
[0K│ child_result :: Identifier │
[0K│ Ok :: Identifier │
[0K│ [call] │
[0K│ ∉ :: Identifier │
[0K│ cell :: Identifier │
[0K│ [.] │
[0K│ child_result :: Identifier │
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [continue] │
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │
[0K│ [call] │
[0K│ is_soft_edge :: Identifier │
[0K│ topology :: Identifier │
[0K│ cell :: Identifier │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ deleteat! :: Identifier │
[0K│ entries :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ + :: Identifier │
[0K│ current_entries_num :: Identifier │
[0K│ 1 :: Value │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ entries :: Identifier │
[0K│ [call] │
[0K│ deleteat! :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ + :: Identifier │
[0K│ current_exits_num :: Identifier │
[0K│ 1 :: Value │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ exits :: Identifier │
[0K│ [return] │
[0K│ child_result :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ cycled_cell :: Identifier │
[0K│ [.] │
[0K│ child_result :: Identifier │
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ delete! :: Identifier │
[0K│ errable :: Identifier │
[0K│ cycled_cell :: Identifier │
[0K│ [if] │
[0K│ [call] │
[0K│ === :: Identifier │
[0K│ [ref] │
[0K│ entries :: Identifier │
[0K│ end :: Identifier │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ pop! :: Identifier │
[0K│ entries :: Identifier │
[0K│ [continue] │
[0K│ [call] │
[0K│ push! :: Identifier │
[0K│ exits :: Identifier │
[0K│ cell :: Identifier │
[0K│ [call] │
[0K│ Ok :: Identifier │
[0K│ [=] │
[0K│ prelim_order_1 :: Identifier │
[0K│ [call] │
[0K│ sort :: Identifier │
[0K│ roots :: Identifier │
[0K│ [kw] │
[0K│ alg :: Identifier │
[0K│ MergeSort :: Identifier │
[0K│ [kw] │
[0K│ by :: Identifier │
[0K│ [->] │
[0K│ c :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ cell_precedence_heuristic :: Identifier │
[0K│ topology :: Identifier │
[0K│ c :: Identifier │
[0K│ [for] │
[0K│ [=] │
[0K│ i :: Identifier │
[0K│ [call] │
[0K│ : :: Identifier │
[0K│ [call] │
[0K│ length :: Identifier │
[0K│ prelim_order_1 :: Identifier │
[0K│ -1 :: Value │
[0K│ 1 :: Value │
[0K│ [block] │
[0K│ [call] │
[0K│ bfs :: Identifier │
[0K│ [ref] │
[0K│ prelim_order_1 :: Identifier │
[0K│ i :: Identifier │
[0K│ [=] │
[0K│ ordered :: Identifier │
[0K│ [call] │
[0K│ reverse :: Identifier │
[0K│ exits :: Identifier │
[0K│ [call] │
[0K│ TopologicalOrder :: Identifier │
[0K│ topology :: Identifier │
[0K│ [call] │
[0K│ setdiff :: Identifier │
[0K│ ordered :: Identifier │
[0K│ [call] │
[0K│ keys :: Identifier │
[0K│ errable :: Identifier │
[0K│ errable :: Identifier │
[0K│
[0K│ st1 =
[0K│ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source
[0K│ [block] │
[0K│ [=] │
[0K│ val :: Identifier │ scope_layer=3
[0K│ [function] │
[0K│ [where] │
[0K│ [::] │
[0K│ [call] │
[0K│ topological_order :: Identifier │ scope_layer=1
[0K│ [parameters] │
[0K│ [kw] │
[0K│ [::] │
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ Bool :: Identifier │ scope_layer=1
[0K│ false :: Value │ macro_source=405
[0K│ [kw] │
[0K│ [::] │
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ Bool :: Identifier │ scope_layer=1
[0K│ false :: Value │ macro_source=405
[0K│ [::] │
[0K│ topology :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [::] │
[0K│ roots :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ TopologicalOrder :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [<:] │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ AbstractCell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ nothing :: Value │ macro_source=405
[0K│ [call] │
[0K│ throw :: Identifier │ mod,scope_layer=1
[0K│ [call] │
[0K│ AssertionError :: Identifier │ mod,scope_layer=1
[0K│ "allow_multiple_defs" :: Value │ macro_source=405
[0K│ [=] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ [curly] │
[0K│ Dict :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ ReactivityError :: Identifier │ scope_layer=1
[0K│ [function] │
[0K│ [::] │
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ [::] │
[0K│ cell :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ ChildExplorationResult :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ in :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ haskey :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [&&] │
[0K│ [call] │
[0K│ > :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ 0 :: Value │ macro_source=405
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [elseif] │
[0K│ [block] │
[0K│ [call] │
[0K│ in :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ setdiff :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ findfirst :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ isequal :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ currently_in :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ cycle_is_among_functions :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ cell :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ CyclicReferenceError :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ [call] │
[0K│ Cycle :: Identifier │ scope_layer=1
[0K│ cycle :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ current_entries_num :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ current_exits_num :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ push! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ where_assigned :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ |> :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ where_referenced :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ Iterators :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ reverse :: Identifier │
[0K│ [if] │
[0K│ [&&] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ > :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [block] │
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ [ref] │
[0K│ errable :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ MultipleDefinitionsError :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ should_continue_search_down :: Identifier │ scope_layer=1
[0K│ [||] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ all :: Identifier │ scope_layer=1
[0K│ [->] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [||] │
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ∈ :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ allow_multiple_defs :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ to_search_next :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ should_continue_search_down :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ union :: Identifier │ scope_layer=1
[0K│ assigners :: Identifier │ scope_layer=1
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ referencers :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [ref] │
[0K│ C :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ to_search_next :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [if] │
[0K│ [call] │
[0K│ !== :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [=] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [||] │
[0K│ [call] │
[0K│ isa :: Identifier │ scope_layer=1
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ ∉ :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │ macro_source=405
[0K│ [continue] │ macro_source=405
[0K│ [if] │
[0K│ [call] │
[0K│ ! :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ is_soft_edge :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ deleteat! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ + :: Identifier │ scope_layer=1
[0K│ current_entries_num :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ deleteat! :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ + :: Identifier │ scope_layer=1
[0K│ current_exits_num :: Identifier │ scope_layer=1
[0K│ 1 :: Value │ macro_source=405
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [return] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ cycled_cell :: Identifier │ scope_layer=1
[0K│ [.] │
[0K│ child_result :: Identifier │ scope_layer=1
[0K│ [inert] │
[0K│ cycled_cells :: Identifier │
[0K│ [block] │
[0K│ [call] │
[0K│ delete! :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ cycled_cell :: Identifier │ scope_layer=1
[0K│ [if] │
[0K│ [call] │
[0K│ === :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ entries :: Identifier │ scope_layer=1
[0K│ end :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ pop! :: Identifier │ scope_layer=1
[0K│ entries :: Identifier │ scope_layer=1
[0K│ [continue] │ macro_source=405
[0K│ [call] │
[0K│ push! :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ cell :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ Ok :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ sort :: Identifier │ scope_layer=1
[0K│ roots :: Identifier │ scope_layer=1
[0K│ [kw] │
[0K│ alg :: Identifier │ scope_layer=1
[0K│ MergeSort :: Identifier │ scope_layer=1
[0K│ [kw] │
[0K│ by :: Identifier │ scope_layer=1
[0K│ [->] │
[0K│ c :: Identifier │ scope_layer=1
[0K│ [block] │
[0K│ [call] │
[0K│ cell_precedence_heuristic :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ c :: Identifier │ scope_layer=1
[0K│ [for] │
[0K│ [=] │
[0K│ i :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ : :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ length :: Identifier │ scope_layer=1
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ -1 :: Value │ macro_source=405
[0K│ 1 :: Value │ macro_source=405
[0K│ [block] │
[0K│ [call] │
[0K│ bfs :: Identifier │ scope_layer=1
[0K│ [ref] │
[0K│ prelim_order_1 :: Identifier │ scope_layer=1
[0K│ i :: Identifier │ scope_layer=1
[0K│ [=] │
[0K│ ordered :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ reverse :: Identifier │ scope_layer=1
[0K│ exits :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ TopologicalOrder :: Identifier │ scope_layer=1
[0K│ topology :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ setdiff :: Identifier │ scope_layer=1
[0K│ ordered :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ keys :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ errable :: Identifier │ scope_layer=1
[0K│ [call] │
[0K│ Base.Docs.doc! :: Value │ macro_source=405
[0K│ PlutoDependencyExplorer :: Value │ macro_source=405
[0K│ [call] │
[0K│ Base.Docs.Binding :: Value │ macro_source=405
[0K│ PlutoDependencyExplorer :: Value │
[0K│ [inert] │ jl_source=L65
[0K│ topological_order :: Identifier │
[0K│ [call] │ macro_source=405
[0K│ Base.Docs.docstr :: Value │ macro_source=405
[0K│ [call] │ macro_source=405
[0K│ Core.svec :: Value │ macro_source=405
[0K│ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │ macro_source=405
[0K│ [call] │ macro_source=405
[0K│ Dict{Symbol, Any} :: Value │ macro_source=405
[0K│ :path => "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl" :: Value │ macro_source=405
[0K│ :linenumber => 8 :: Value │ macro_source=405
[0K│ :module => PlutoDependencyExplorer :: Value │ macro_source=405
[0K│ [where] │
[0K│ [curly] │
[0K│ Union :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ Tuple :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ NotebookTopology :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ AbstractVector :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [curly] │
[0K│ Tuple :: Identifier │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ [<:] │ scope_layer=1
[0K│ C :: Identifier │ scope_layer=1
[0K│ AbstractCell :: Identifier │ scope_layer=1
[0K│ val :: Identifier │ scope_layer=3
[0K│
[0K│ file = "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl"
[0K│ line = 8
[0K└ mod = PlutoDependencyExplorer
[0KERROR: LoadError: LoweringError:
[0K#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# - Found unexpected binding of kind static_parameter
[0KExpression:
[0K #₅₄/C
[0KContaining expressions:
[0K (= #₁₇₄/C #₅₄/C)
[0K (= #₃ (call core.svec (call core.svec #₁₄₃/##kw_body#topological_order#0#bfs##0 #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
[0K (= #₃ (call core.svec (call core.svec (function_type #₅₆/bfs) #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
[0K
[0KDetailed provenance:
[0K #₅₄/C
[0K └─ C
[0K └─ C
[0K ├─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40
[0K └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" (function (where (:: (call topological_order (parameters (kw (:: allow_multiple_defs Bool) false) (kw (:: skip_at_partial_multiple_defs Bool) false)) (:: topology (curly NotebookTopology C)) (:: roots (curly AbstractVector C))) (curly TopologicalOrder C)) (<: C AbstractCell)) (block (if skip_at_partial_multiple_defs (block (macrocall @assert :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) allow_multiple_defs))) (= entries (ref C)) (= exits (ref C)) (= errable (call (curly Dict C ReactivityError))) (function (:: (call bfs (:: cell C)) ChildExplorationResult) (block (if (call in cell exits) (block (return (call Ok))) (elseif (block (call haskey errable cell)) (block (return (call Ok))) (elseif (block (&& (call > (call length entries) 0) (call === (ref entries end) cell))) (block (return (call Ok))) (elseif (block (call in cell entries)) (block (= currently_in (call setdiff entries exits)) (= cycle (ref currently_in (call : (call findfirst (call isequal cell) currently_in) end))) (if (call ! (call cycle_is_among_functions topology cycle)) (block (for (= cell cycle) (block (= (ref errable cell) (call CyclicReferenceError topology cycle)))) (return (call Cycle cycle)))) (return (call Ok))))))) (= current_entries_num (call length entries)) (= current_exits_num (call length exits)) (call push! entries cell) (= assigners (call where_assigned topology cell)) (= referencers (call |> (call where_referenced topology cell) (. Iterators (inert reverse)))) (if (&& (call ! allow_multiple_defs) (call > (call length assigners) 1)) (block (for (= c assigners) (block (= (ref errable c) (call MultipleDefinitionsError topology c assigners)))))) (= should_continue_search_down (|| (call ! skip_at_partial_multiple_defs) (call all (-> c (block (|| (call === c cell) (call ∈ c exits)))) assigners))) (= should_search_fellow_assigners_if_any (call ! allow_multiple_defs)) (= to_search_next (if should_continue_search_down (block (if should_search_fellow_assigners_if_any (block (call union assigners referencers)) (block referencers))) (block (ref C)))) (for (= c to_search_next) (block (if (call !== c cell) (block (= child_result (call bfs c)) (if (|| (call isa child_result Ok) (call ∉ cell (. child_result (inert cycled_cells)))) (block (continue))) (if (call ! (call is_soft_edge topology cell c)) (block (call deleteat! entries (call : (call + current_entries_num 1) (call length entries))) (call deleteat! exits (call : (call + current_exits_num 1) (call length exits))) (return child_result))) (for (= cycled_cell (. child_result (inert cycled_cells))) (block (call delete! errable cycled_cell))) (if (call === (ref entries end) c) (block (call pop! entries))) (continue))))) (call push! exits cell) (call Ok))) (= prelim_order_1 (call sort roots (kw alg MergeSort) (kw by (-> c (block (call cell_precedence_heuristic topology c)))))) (for (= i (call : (call length prelim_order_1) -1 1)) (block (call bfs (ref prelim_order_1 i)))) (= ordered (call reverse exits)) (call TopologicalOrder topology (call setdiff ordered (call keys errable)) errable))))
[0K └─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
[0K
[0KStacktrace:
[0K [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097
[0K [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162
[0K [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257
[0K [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287
[0K [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33
[0K [6] include(mapexpr::Function, mod::Module, _path::String)
[0K @ Base Base.jl:326
[0K [7] top-level scope
[0K @ ~/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:24
[0K [8] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [9] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [10] top-level scope
[0K @ stdin:5
[0K [11] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [13] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [14] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [15] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:2
[0Kin expression starting at stdin:5
[0KERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("72656b73-756c-7461-726b-72656b6b696b"), "PlutoDependencyExplorer") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0)
[0KStacktrace:
[0K [1] error(s::String)
[0K @ Base error.jl:56
[0K [2] __require_prelocked(pkg::Base.PkgId, env::String)
[0K @ Base loading.jl:2837
[0K [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
[0K @ Base loading.jl:2685
[0K [4] macro expansion
[0K @ loading.jl:2599 [inlined]
[0K [5] macro expansion
[0K @ lock.jl:376 [inlined]
[0K [6] __require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2563
[0K [7] require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2539 [inlined]
[0K [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)
[0K @ Base module.jl:36 [inlined]
[0K [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
[0K @ Base module.jl:60
[0K [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base module.jl:101
[0K [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195
[0K [12] top-level scope
[0K @ ~/.julia/packages/Pluto/MwmFc/src/Pluto.jl:43
[0K [13] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [15] top-level scope
[0K @ stdin:5
[0K [16] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [18] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [19] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [20] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/Pluto/MwmFc/src/Pluto.jl:1
[0Kin expression starting at stdin:5
[0KERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("c3e4b0f8-55cb-11ea-2926-15256bba5781"), "Pluto") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0)
[0KStacktrace:
[0K [1] error(s::String)
[0K @ Base error.jl:56
[0K [2] __require_prelocked(pkg::Base.PkgId, env::String)
[0K @ Base loading.jl:2837
[0K [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
[0K @ Base loading.jl:2685
[0K [4] macro expansion
[0K @ loading.jl:2599 [inlined]
[0K [5] macro expansion
[0K @ lock.jl:376 [inlined]
[0K [6] __require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2563
[0K [7] require(into::Module, mod::Symbol)
[0K @ Base loading.jl:2539 [inlined]
[0K [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)
[0K @ Base module.jl:36 [inlined]
[0K [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
[0K @ Base module.jl:60
[0K [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base module.jl:101
[0K [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
[0K @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195
[0K [12] top-level scope
[0K @ ~/.julia/packages/PlutoStaticHTML/QbnhG/src/PlutoStaticHTML.jl:10
[0K [13] include(mod::Module, _path::String)
[0K @ Base Base.jl:325
[0K [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
[0K @ Base loading.jl:3296
[0K [15] top-level scope
[0K @ stdin:5
[0K [16] eval(m::Module, e::Any)
[0K @ Core boot.jl:522
[0K [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
[0K @ Base loading.jl:3132
[0K [18] include_string(m::Module, txt::String, fname::String)
[0K @ Base loading.jl:3142 [inlined]
[0K [19] exec_options(opts::Base.JLOptions)
[0K @ Base client.jl:353
[0K [20] _start()
[0K @ Base client.jl:596
[0Kin expression starting at /home/pkgeval/.julia/packages/PlutoStaticHTML/QbnhG/src/PlutoStaticHTML.jl:1
[0Kin expression starting at stdin:5
3 dependencies had output during precompilation:
┌ PlutoStaticHTML
│ [Output was shown above]
└
┌ Pluto
│ ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("72656b73-756c-7461-726b-72656b6b696b"), "PlutoDependencyExplorer") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0)
│ Stacktrace:
│ [1] error(s::String)
│ @ Base error.jl:56
│ [2] __require_prelocked(pkg::Base.PkgId, env::String)
│ @ Base loading.jl:2837
│ [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ @ Base loading.jl:2685
│ [4] macro expansion
│ @ loading.jl:2599 [inlined]
│ [5] macro expansion
│ @ lock.jl:376 [inlined]
│ [6] __require(into::Module, mod::Symbol)
│ @ Base loading.jl:2563
│ [7] require(into::Module, mod::Symbol)
│ @ Base loading.jl:2539 [inlined]
│ [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)
│ @ Base module.jl:36 [inlined]
│ [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
│ @ Base module.jl:60
│ [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
│ @ Base module.jl:101
│ [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195
│ [12] top-level scope
│ @ ~/.julia/packages/Pluto/MwmFc/src/Pluto.jl:43
│ [13] include(mod::Module, _path::String)
│ @ Base Base.jl:325
│ [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
│ @ Base loading.jl:3296
│ [15] top-level scope
│ @ stdin:5
│ [16] eval(m::Module, e::Any)
│ @ Core boot.jl:522
│ [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ @ Base loading.jl:3132
│ [18] include_string(m::Module, txt::String, fname::String)
│ @ Base loading.jl:3142 [inlined]
│ [19] exec_options(opts::Base.JLOptions)
│ @ Base client.jl:353
│ [20] _start()
│ @ Base client.jl:596
│ in expression starting at /home/pkgeval/.julia/packages/Pluto/MwmFc/src/Pluto.jl:1
│ in expression starting at stdin:5
└
┌ PlutoDependencyExplorer
│ ┌ Info: JuliaLowering threw given input:
│ │ code =
│ │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =# Core.@doc "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" function (topological_order(topology::NotebookTopology{C}, roots::AbstractVector{C}; allow_multiple_defs::Bool = false, skip_at_partial_multiple_defs::Bool = false)::TopologicalOrder{C}) where C <: AbstractCell
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:26 =#
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:31 =#
│ │ if skip_at_partial_multiple_defs
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =# @assert allow_multiple_defs
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:35 =#
│ │ entries = C[]
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:36 =#
│ │ exits = C[]
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:37 =#
│ │ errable = Dict{C, ReactivityError}()
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
│ │ function bfs(cell::C)::ChildExplorationResult
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =#
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:41 =#
│ │ if cell in exits
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:42 =#
│ │ return Ok()
│ │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:43 =# haskey(errable, cell)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:44 =#
│ │ return Ok()
│ │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:45 =# length(entries) > 0 && entries[var"end"] === cell
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:46 =#
│ │ return Ok()
│ │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:47 =# cell in entries
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:48 =#
│ │ currently_in = setdiff(entries, exits)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:49 =#
│ │ cycle = currently_in[findfirst(isequal(cell), currently_in):var"end"]
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:51 =#
│ │ if !(cycle_is_among_functions(topology, cycle))
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:52 =#
│ │ for cell = cycle
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:53 =#
│ │ errable[cell] = CyclicReferenceError(topology, cycle)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:54 =#
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:55 =#
│ │ return Cycle(cycle)
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:58 =#
│ │ return Ok()
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:62 =#
│ │ current_entries_num = length(entries)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:63 =#
│ │ current_exits_num = length(exits)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:65 =#
│ │ push!(entries, cell)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:67 =#
│ │ assigners = where_assigned(topology, cell)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:68 =#
│ │ referencers = where_referenced(topology, cell) |> Iterators.reverse
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:70 =#
│ │ if !allow_multiple_defs && length(assigners) > 1
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:71 =#
│ │ for c = assigners
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:72 =#
│ │ errable[c] = MultipleDefinitionsError(topology, c, assigners)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:73 =#
│ │ end
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
│ │ should_continue_search_down = !skip_at_partial_multiple_defs || all((c->begin
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =#
│ │ c === cell || c ∈ exits
│ │ end), assigners)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:77 =#
│ │ should_search_fellow_assigners_if_any = !allow_multiple_defs
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:79 =#
│ │ to_search_next = if should_continue_search_down
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:80 =#
│ │ if should_search_fellow_assigners_if_any
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:81 =#
│ │ union(assigners, referencers)
│ │ else
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:83 =#
│ │ referencers
│ │ end
│ │ else
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:86 =#
│ │ C[]
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:89 =#
│ │ for c = to_search_next
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:90 =#
│ │ if c !== cell
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:91 =#
│ │ child_result = bfs(c)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:94 =#
│ │ if child_result isa Ok || cell ∉ child_result.cycled_cells
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:95 =#
│ │ continue
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:102 =#
│ │ if !(is_soft_edge(topology, cell, c))
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:104 =#
│ │ deleteat!(entries, current_entries_num + 1:length(entries))
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:105 =#
│ │ deleteat!(exits, current_exits_num + 1:length(exits))
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:106 =#
│ │ return child_result
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:111 =#
│ │ for cycled_cell = child_result.cycled_cells
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:112 =#
│ │ delete!(errable, cycled_cell)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:113 =#
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:115 =#
│ │ if entries[var"end"] === c
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:116 =#
│ │ pop!(entries)
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:119 =#
│ │ continue
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:121 =#
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:122 =#
│ │ push!(exits, cell)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:123 =#
│ │ Ok()
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
│ │ prelim_order_1 = sort(roots, alg = MergeSort, by = (c->begin
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =#
│ │ cell_precedence_heuristic(topology, c)
│ │ end))
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:130 =#
│ │ for i = length(prelim_order_1):-1:1
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:131 =#
│ │ bfs(prelim_order_1[i])
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:132 =#
│ │ end
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:133 =#
│ │ ordered = reverse(exits)
│ │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:134 =#
│ │ TopologicalOrder(topology, setdiff(ordered, keys(errable)), errable)
│ │ end)
│ │ st0 =
│ │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__
│ │ [macrocall] │
│ │ @doc :: Identifier │ mod
│ │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) :: Value │
│ │ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │
│ │ [function] │
│ │ [where] │
│ │ [::] │
│ │ [call] │
│ │ topological_order :: Identifier │
│ │ [parameters] │
│ │ [kw] │
│ │ [::] │
│ │ allow_multiple_defs :: Identifier │
│ │ Bool :: Identifier │
│ │ false :: Value │
│ │ [kw] │
│ │ [::] │
│ │ skip_at_partial_multiple_defs :: Identifier │
│ │ Bool :: Identifier │
│ │ false :: Value │
│ │ [::] │
│ │ topology :: Identifier │
│ │ [curly] │
│ │ NotebookTopology :: Identifier │
│ │ C :: Identifier │
│ │ [::] │
│ │ roots :: Identifier │
│ │ [curly] │
│ │ AbstractVector :: Identifier │
│ │ C :: Identifier │
│ │ [curly] │
│ │ TopologicalOrder :: Identifier │
│ │ C :: Identifier │
│ │ [<:] │
│ │ C :: Identifier │
│ │ AbstractCell :: Identifier │
│ │ [block] │
│ │ [if] │
│ │ skip_at_partial_multiple_defs :: Identifier │
│ │ [block] │
│ │ [macrocall] │
│ │ @assert :: Identifier │
│ │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) :: Value │
│ │ allow_multiple_defs :: Identifier │
│ │ [=] │
│ │ entries :: Identifier │
│ │ [ref] │
│ │ C :: Identifier │
│ │ [=] │
│ │ exits :: Identifier │
│ │ [ref] │
│ │ C :: Identifier │
│ │ [=] │
│ │ errable :: Identifier │
│ │ [call] │
│ │ [curly] │
│ │ Dict :: Identifier │
│ │ C :: Identifier │
│ │ ReactivityError :: Identifier │
│ │ [function] │
│ │ [::] │
│ │ [call] │
│ │ bfs :: Identifier │
│ │ [::] │
│ │ cell :: Identifier │
│ │ C :: Identifier │
│ │ ChildExplorationResult :: Identifier │
│ │ [block] │
│ │ [if] │
│ │ [call] │
│ │ in :: Identifier │
│ │ cell :: Identifier │
│ │ exits :: Identifier │
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │
│ │ [elseif] │
│ │ [block] │
│ │ [call] │
│ │ haskey :: Identifier │
│ │ errable :: Identifier │
│ │ cell :: Identifier │
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │
│ │ [elseif] │
│ │ [block] │
│ │ [&&] │
│ │ [call] │
│ │ > :: Identifier │
│ │ [call] │
│ │ length :: Identifier │
│ │ entries :: Identifier │
│ │ 0 :: Value │
│ │ [call] │
│ │ === :: Identifier │
│ │ [ref] │
│ │ entries :: Identifier │
│ │ end :: Identifier │
│ │ cell :: Identifier │
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │
│ │ [elseif] │
│ │ [block] │
│ │ [call] │
│ │ in :: Identifier │
│ │ cell :: Identifier │
│ │ entries :: Identifier │
│ │ [block] │
│ │ [=] │
│ │ currently_in :: Identifier │
│ │ [call] │
│ │ setdiff :: Identifier │
│ │ entries :: Identifier │
│ │ exits :: Identifier │
│ │ [=] │
│ │ cycle :: Identifier │
│ │ [ref] │
│ │ currently_in :: Identifier │
│ │ [call] │
│ │ : :: Identifier │
│ │ [call] │
│ │ findfirst :: Identifier │
│ │ [call] │
│ │ isequal :: Identifier │
│ │ cell :: Identifier │
│ │ currently_in :: Identifier │
│ │ end :: Identifier │
│ │ [if] │
│ │ [call] │
│ │ ! :: Identifier │
│ │ [call] │
│ │ cycle_is_among_functions :: Identifier │
│ │ topology :: Identifier │
│ │ cycle :: Identifier │
│ │ [block] │
│ │ [for] │
│ │ [=] │
│ │ cell :: Identifier │
│ │ cycle :: Identifier │
│ │ [block] │
│ │ [=] │
│ │ [ref] │
│ │ errable :: Identifier │
│ │ cell :: Identifier │
│ │ [call] │
│ │ CyclicReferenceError :: Identifier │
│ │ topology :: Identifier │
│ │ cycle :: Identifier │
│ │ [return] │
│ │ [call] │
│ │ Cycle :: Identifier │
│ │ cycle :: Identifier │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │
│ │ [=] │
│ │ current_entries_num :: Identifier │
│ │ [call] │
│ │ length :: Identifier │
│ │ entries :: Identifier │
│ │ [=] │
│ │ current_exits_num :: Identifier │
│ │ [call] │
│ │ length :: Identifier │
│ │ exits :: Identifier │
│ │ [call] │
│ │ push! :: Identifier │
│ │ entries :: Identifier │
│ │ cell :: Identifier │
│ │ [=] │
│ │ assigners :: Identifier │
│ │ [call] │
│ │ where_assigned :: Identifier │
│ │ topology :: Identifier │
│ │ cell :: Identifier │
│ │ [=] │
│ │ referencers :: Identifier │
│ │ [call] │
│ │ |> :: Identifier │
│ │ [call] │
│ │ where_referenced :: Identifier │
│ │ topology :: Identifier │
│ │ cell :: Identifier │
│ │ [.] │
│ │ Iterators :: Identifier │
│ │ [inert] │
│ │ reverse :: Identifier │
│ │ [if] │
│ │ [&&] │
│ │ [call] │
│ │ ! :: Identifier │
│ │ allow_multiple_defs :: Identifier │
│ │ [call] │
│ │ > :: Identifier │
│ │ [call] │
│ │ length :: Identifier │
│ │ assigners :: Identifier │
│ │ 1 :: Value │
│ │ [block] │
│ │ [for] │
│ │ [=] │
│ │ c :: Identifier │
│ │ assigners :: Identifier │
│ │ [block] │
│ │ [=] │
│ │ [ref] │
│ │ errable :: Identifier │
│ │ c :: Identifier │
│ │ [call] │
│ │ MultipleDefinitionsError :: Identifier │
│ │ topology :: Identifier │
│ │ c :: Identifier │
│ │ assigners :: Identifier │
│ │ [=] │
│ │ should_continue_search_down :: Identifier │
│ │ [||] │
│ │ [call] │
│ │ ! :: Identifier │
│ │ skip_at_partial_multiple_defs :: Identifier │
│ │ [call] │
│ │ all :: Identifier │
│ │ [->] │
│ │ c :: Identifier │
│ │ [block] │
│ │ [||] │
│ │ [call] │
│ │ === :: Identifier │
│ │ c :: Identifier │
│ │ cell :: Identifier │
│ │ [call] │
│ │ ∈ :: Identifier │
│ │ c :: Identifier │
│ │ exits :: Identifier │
│ │ assigners :: Identifier │
│ │ [=] │
│ │ should_search_fellow_assigners_if_any :: Identifier │
│ │ [call] │
│ │ ! :: Identifier │
│ │ allow_multiple_defs :: Identifier │
│ │ [=] │
│ │ to_search_next :: Identifier │
│ │ [if] │
│ │ should_continue_search_down :: Identifier │
│ │ [block] │
│ │ [if] │
│ │ should_search_fellow_assigners_if_any :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ union :: Identifier │
│ │ assigners :: Identifier │
│ │ referencers :: Identifier │
│ │ [block] │
│ │ referencers :: Identifier │
│ │ [block] │
│ │ [ref] │
│ │ C :: Identifier │
│ │ [for] │
│ │ [=] │
│ │ c :: Identifier │
│ │ to_search_next :: Identifier │
│ │ [block] │
│ │ [if] │
│ │ [call] │
│ │ !== :: Identifier │
│ │ c :: Identifier │
│ │ cell :: Identifier │
│ │ [block] │
│ │ [=] │
│ │ child_result :: Identifier │
│ │ [call] │
│ │ bfs :: Identifier │
│ │ c :: Identifier │
│ │ [if] │
│ │ [||] │
│ │ [call] │
│ │ isa :: Identifier │
│ │ child_result :: Identifier │
│ │ Ok :: Identifier │
│ │ [call] │
│ │ ∉ :: Identifier │
│ │ cell :: Identifier │
│ │ [.] │
│ │ child_result :: Identifier │
│ │ [inert] │
│ │ cycled_cells :: Identifier │
│ │ [block] │
│ │ [continue] │
│ │ [if] │
│ │ [call] │
│ │ ! :: Identifier │
│ │ [call] │
│ │ is_soft_edge :: Identifier │
│ │ topology :: Identifier │
│ │ cell :: Identifier │
│ │ c :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ deleteat! :: Identifier │
│ │ entries :: Identifier │
│ │ [call] │
│ │ : :: Identifier │
│ │ [call] │
│ │ + :: Identifier │
│ │ current_entries_num :: Identifier │
│ │ 1 :: Value │
│ │ [call] │
│ │ length :: Identifier │
│ │ entries :: Identifier │
│ │ [call] │
│ │ deleteat! :: Identifier │
│ │ exits :: Identifier │
│ │ [call] │
│ │ : :: Identifier │
│ │ [call] │
│ │ + :: Identifier │
│ │ current_exits_num :: Identifier │
│ │ 1 :: Value │
│ │ [call] │
│ │ length :: Identifier │
│ │ exits :: Identifier │
│ │ [return] │
│ │ child_result :: Identifier │
│ │ [for] │
│ │ [=] │
│ │ cycled_cell :: Identifier │
│ │ [.] │
│ │ child_result :: Identifier │
│ │ [inert] │
│ │ cycled_cells :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ delete! :: Identifier │
│ │ errable :: Identifier │
│ │ cycled_cell :: Identifier │
│ │ [if] │
│ │ [call] │
│ │ === :: Identifier │
│ │ [ref] │
│ │ entries :: Identifier │
│ │ end :: Identifier │
│ │ c :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ pop! :: Identifier │
│ │ entries :: Identifier │
│ │ [continue] │
│ │ [call] │
│ │ push! :: Identifier │
│ │ exits :: Identifier │
│ │ cell :: Identifier │
│ │ [call] │
│ │ Ok :: Identifier │
│ │ [=] │
│ │ prelim_order_1 :: Identifier │
│ │ [call] │
│ │ sort :: Identifier │
│ │ roots :: Identifier │
│ │ [kw] │
│ │ alg :: Identifier │
│ │ MergeSort :: Identifier │
│ │ [kw] │
│ │ by :: Identifier │
│ │ [->] │
│ │ c :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ cell_precedence_heuristic :: Identifier │
│ │ topology :: Identifier │
│ │ c :: Identifier │
│ │ [for] │
│ │ [=] │
│ │ i :: Identifier │
│ │ [call] │
│ │ : :: Identifier │
│ │ [call] │
│ │ length :: Identifier │
│ │ prelim_order_1 :: Identifier │
│ │ -1 :: Value │
│ │ 1 :: Value │
│ │ [block] │
│ │ [call] │
│ │ bfs :: Identifier │
│ │ [ref] │
│ │ prelim_order_1 :: Identifier │
│ │ i :: Identifier │
│ │ [=] │
│ │ ordered :: Identifier │
│ │ [call] │
│ │ reverse :: Identifier │
│ │ exits :: Identifier │
│ │ [call] │
│ │ TopologicalOrder :: Identifier │
│ │ topology :: Identifier │
│ │ [call] │
│ │ setdiff :: Identifier │
│ │ ordered :: Identifier │
│ │ [call] │
│ │ keys :: Identifier │
│ │ errable :: Identifier │
│ │ errable :: Identifier │
│ │
│ │ st1 =
│ │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source
│ │ [block] │
│ │ [=] │
│ │ val :: Identifier │ scope_layer=3
│ │ [function] │
│ │ [where] │
│ │ [::] │
│ │ [call] │
│ │ topological_order :: Identifier │ scope_layer=1
│ │ [parameters] │
│ │ [kw] │
│ │ [::] │
│ │ allow_multiple_defs :: Identifier │ scope_layer=1
│ │ Bool :: Identifier │ scope_layer=1
│ │ false :: Value │ macro_source=405
│ │ [kw] │
│ │ [::] │
│ │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
│ │ Bool :: Identifier │ scope_layer=1
│ │ false :: Value │ macro_source=405
│ │ [::] │
│ │ topology :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ NotebookTopology :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [::] │
│ │ roots :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ AbstractVector :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ TopologicalOrder :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [<:] │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ AbstractCell :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [if] │
│ │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [if] │
│ │ allow_multiple_defs :: Identifier │ scope_layer=1
│ │ nothing :: Value │ macro_source=405
│ │ [call] │
│ │ throw :: Identifier │ mod,scope_layer=1
│ │ [call] │
│ │ AssertionError :: Identifier │ mod,scope_layer=1
│ │ "allow_multiple_defs" :: Value │ macro_source=405
│ │ [=] │
│ │ entries :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ C :: Identifier │ scope_layer=1
│ │ [=] │
│ │ exits :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ C :: Identifier │ scope_layer=1
│ │ [=] │
│ │ errable :: Identifier │ scope_layer=1
│ │ [call] │
│ │ [curly] │
│ │ Dict :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ ReactivityError :: Identifier │ scope_layer=1
│ │ [function] │
│ │ [::] │
│ │ [call] │
│ │ bfs :: Identifier │ scope_layer=1
│ │ [::] │
│ │ cell :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ ChildExplorationResult :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [if] │
│ │ [call] │
│ │ in :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │ scope_layer=1
│ │ [elseif] │
│ │ [block] │
│ │ [call] │
│ │ haskey :: Identifier │ scope_layer=1
│ │ errable :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │ scope_layer=1
│ │ [elseif] │
│ │ [block] │
│ │ [&&] │
│ │ [call] │
│ │ > :: Identifier │ scope_layer=1
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ 0 :: Value │ macro_source=405
│ │ [call] │
│ │ === :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ entries :: Identifier │ scope_layer=1
│ │ end :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │ scope_layer=1
│ │ [elseif] │
│ │ [block] │
│ │ [call] │
│ │ in :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [=] │
│ │ currently_in :: Identifier │ scope_layer=1
│ │ [call] │
│ │ setdiff :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [=] │
│ │ cycle :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ currently_in :: Identifier │ scope_layer=1
│ │ [call] │
│ │ : :: Identifier │ scope_layer=1
│ │ [call] │
│ │ findfirst :: Identifier │ scope_layer=1
│ │ [call] │
│ │ isequal :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ currently_in :: Identifier │ scope_layer=1
│ │ end :: Identifier │ scope_layer=1
│ │ [if] │
│ │ [call] │
│ │ ! :: Identifier │ scope_layer=1
│ │ [call] │
│ │ cycle_is_among_functions :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ cycle :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [for] │
│ │ [=] │
│ │ cell :: Identifier │ scope_layer=1
│ │ cycle :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [=] │
│ │ [ref] │
│ │ errable :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [call] │
│ │ CyclicReferenceError :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ cycle :: Identifier │ scope_layer=1
│ │ [return] │
│ │ [call] │
│ │ Cycle :: Identifier │ scope_layer=1
│ │ cycle :: Identifier │ scope_layer=1
│ │ [return] │
│ │ [call] │
│ │ Ok :: Identifier │ scope_layer=1
│ │ [=] │
│ │ current_entries_num :: Identifier │ scope_layer=1
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ [=] │
│ │ current_exits_num :: Identifier │ scope_layer=1
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [call] │
│ │ push! :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [=] │
│ │ assigners :: Identifier │ scope_layer=1
│ │ [call] │
│ │ where_assigned :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [=] │
│ │ referencers :: Identifier │ scope_layer=1
│ │ [call] │
│ │ |> :: Identifier │ scope_layer=1
│ │ [call] │
│ │ where_referenced :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [.] │
│ │ Iterators :: Identifier │ scope_layer=1
│ │ [inert] │
│ │ reverse :: Identifier │
│ │ [if] │
│ │ [&&] │
│ │ [call] │
│ │ ! :: Identifier │ scope_layer=1
│ │ allow_multiple_defs :: Identifier │ scope_layer=1
│ │ [call] │
│ │ > :: Identifier │ scope_layer=1
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ assigners :: Identifier │ scope_layer=1
│ │ 1 :: Value │ macro_source=405
│ │ [block] │
│ │ [for] │
│ │ [=] │
│ │ c :: Identifier │ scope_layer=1
│ │ assigners :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [=] │
│ │ [ref] │
│ │ errable :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ [call] │
│ │ MultipleDefinitionsError :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ assigners :: Identifier │ scope_layer=1
│ │ [=] │
│ │ should_continue_search_down :: Identifier │ scope_layer=1
│ │ [||] │
│ │ [call] │
│ │ ! :: Identifier │ scope_layer=1
│ │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1
│ │ [call] │
│ │ all :: Identifier │ scope_layer=1
│ │ [->] │
│ │ c :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [||] │
│ │ [call] │
│ │ === :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [call] │
│ │ ∈ :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ assigners :: Identifier │ scope_layer=1
│ │ [=] │
│ │ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
│ │ [call] │
│ │ ! :: Identifier │ scope_layer=1
│ │ allow_multiple_defs :: Identifier │ scope_layer=1
│ │ [=] │
│ │ to_search_next :: Identifier │ scope_layer=1
│ │ [if] │
│ │ should_continue_search_down :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [if] │
│ │ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [call] │
│ │ union :: Identifier │ scope_layer=1
│ │ assigners :: Identifier │ scope_layer=1
│ │ referencers :: Identifier │ scope_layer=1
│ │ [block] │
│ │ referencers :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [ref] │
│ │ C :: Identifier │ scope_layer=1
│ │ [for] │
│ │ [=] │
│ │ c :: Identifier │ scope_layer=1
│ │ to_search_next :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [if] │
│ │ [call] │
│ │ !== :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [=] │
│ │ child_result :: Identifier │ scope_layer=1
│ │ [call] │
│ │ bfs :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ [if] │
│ │ [||] │
│ │ [call] │
│ │ isa :: Identifier │ scope_layer=1
│ │ child_result :: Identifier │ scope_layer=1
│ │ Ok :: Identifier │ scope_layer=1
│ │ [call] │
│ │ ∉ :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [.] │
│ │ child_result :: Identifier │ scope_layer=1
│ │ [inert] │
│ │ cycled_cells :: Identifier │
│ │ [block] │ macro_source=405
│ │ [continue] │ macro_source=405
│ │ [if] │
│ │ [call] │
│ │ ! :: Identifier │ scope_layer=1
│ │ [call] │
│ │ is_soft_edge :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [call] │
│ │ deleteat! :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ [call] │
│ │ : :: Identifier │ scope_layer=1
│ │ [call] │
│ │ + :: Identifier │ scope_layer=1
│ │ current_entries_num :: Identifier │ scope_layer=1
│ │ 1 :: Value │ macro_source=405
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ [call] │
│ │ deleteat! :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [call] │
│ │ : :: Identifier │ scope_layer=1
│ │ [call] │
│ │ + :: Identifier │ scope_layer=1
│ │ current_exits_num :: Identifier │ scope_layer=1
│ │ 1 :: Value │ macro_source=405
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [return] │
│ │ child_result :: Identifier │ scope_layer=1
│ │ [for] │
│ │ [=] │
│ │ cycled_cell :: Identifier │ scope_layer=1
│ │ [.] │
│ │ child_result :: Identifier │ scope_layer=1
│ │ [inert] │
│ │ cycled_cells :: Identifier │
│ │ [block] │
│ │ [call] │
│ │ delete! :: Identifier │ scope_layer=1
│ │ errable :: Identifier │ scope_layer=1
│ │ cycled_cell :: Identifier │ scope_layer=1
│ │ [if] │
│ │ [call] │
│ │ === :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ entries :: Identifier │ scope_layer=1
│ │ end :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [call] │
│ │ pop! :: Identifier │ scope_layer=1
│ │ entries :: Identifier │ scope_layer=1
│ │ [continue] │ macro_source=405
│ │ [call] │
│ │ push! :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ cell :: Identifier │ scope_layer=1
│ │ [call] │
│ │ Ok :: Identifier │ scope_layer=1
│ │ [=] │
│ │ prelim_order_1 :: Identifier │ scope_layer=1
│ │ [call] │
│ │ sort :: Identifier │ scope_layer=1
│ │ roots :: Identifier │ scope_layer=1
│ │ [kw] │
│ │ alg :: Identifier │ scope_layer=1
│ │ MergeSort :: Identifier │ scope_layer=1
│ │ [kw] │
│ │ by :: Identifier │ scope_layer=1
│ │ [->] │
│ │ c :: Identifier │ scope_layer=1
│ │ [block] │
│ │ [call] │
│ │ cell_precedence_heuristic :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ c :: Identifier │ scope_layer=1
│ │ [for] │
│ │ [=] │
│ │ i :: Identifier │ scope_layer=1
│ │ [call] │
│ │ : :: Identifier │ scope_layer=1
│ │ [call] │
│ │ length :: Identifier │ scope_layer=1
│ │ prelim_order_1 :: Identifier │ scope_layer=1
│ │ -1 :: Value │ macro_source=405
│ │ 1 :: Value │ macro_source=405
│ │ [block] │
│ │ [call] │
│ │ bfs :: Identifier │ scope_layer=1
│ │ [ref] │
│ │ prelim_order_1 :: Identifier │ scope_layer=1
│ │ i :: Identifier │ scope_layer=1
│ │ [=] │
│ │ ordered :: Identifier │ scope_layer=1
│ │ [call] │
│ │ reverse :: Identifier │ scope_layer=1
│ │ exits :: Identifier │ scope_layer=1
│ │ [call] │
│ │ TopologicalOrder :: Identifier │ scope_layer=1
│ │ topology :: Identifier │ scope_layer=1
│ │ [call] │
│ │ setdiff :: Identifier │ scope_layer=1
│ │ ordered :: Identifier │ scope_layer=1
│ │ [call] │
│ │ keys :: Identifier │ scope_layer=1
│ │ errable :: Identifier │ scope_layer=1
│ │ errable :: Identifier │ scope_layer=1
│ │ [call] │
│ │ Base.Docs.doc! :: Value │ macro_source=405
│ │ PlutoDependencyExplorer :: Value │ macro_source=405
│ │ [call] │
│ │ Base.Docs.Binding :: Value │ macro_source=405
│ │ PlutoDependencyExplorer :: Value │
│ │ [inert] │ jl_source=L65
│ │ topological_order :: Identifier │
│ │ [call] │ macro_source=405
│ │ Base.Docs.docstr :: Value │ macro_source=405
│ │ [call] │ macro_source=405
│ │ Core.svec :: Value │ macro_source=405
│ │ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │ macro_source=405
│ │ [call] │ macro_source=405
│ │ Dict{Symbol, Any} :: Value │ macro_source=405
│ │ :path => "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl" :: Value │ macro_source=405
│ │ :linenumber => 8 :: Value │ macro_source=405
│ │ :module => PlutoDependencyExplorer :: Value │ macro_source=405
│ │ [where] │
│ │ [curly] │
│ │ Union :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ Tuple :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ NotebookTopology :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ AbstractVector :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [curly] │
│ │ Tuple :: Identifier │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ [<:] │ scope_layer=1
│ │ C :: Identifier │ scope_layer=1
│ │ AbstractCell :: Identifier │ scope_layer=1
│ │ val :: Identifier │ scope_layer=3
│ │
│ │ file = "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl"
│ │ line = 8
│ └ mod = PlutoDependencyExplorer
│ ERROR: LoadError: LoweringError:
│ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# - Found unexpected binding of kind static_parameter
│ Expression:
│ #₅₄/C
│ Containing expressions:
│ (= #₁₇₄/C #₅₄/C)
│ (= #₃ (call core.svec (call core.svec #₁₄₃/##kw_body#topological_order#0#bfs##0 #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
│ (= #₃ (call core.svec (call core.svec (function_type #₅₆/bfs) #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))
│
│ Detailed provenance:
│ #₅₄/C
│ └─ C
│ └─ C
│ ├─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40
│ └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" (function (where (:: (call topological_order (parameters (kw (:: allow_multiple_defs Bool) false) (kw (:: skip_at_partial_multiple_defs Bool) false)) (:: topology (curly NotebookTopology C)) (:: roots (curly AbstractVector C))) (curly TopologicalOrder C)) (<: C AbstractCell)) (block (if skip_at_partial_multiple_defs (block (macrocall @assert :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) allow_multiple_defs))) (= entries (ref C)) (= exits (ref C)) (= errable (call (curly Dict C ReactivityError))) (function (:: (call bfs (:: cell C)) ChildExplorationResult) (block (if (call in cell exits) (block (return (call Ok))) (elseif (block (call haskey errable cell)) (block (return (call Ok))) (elseif (block (&& (call > (call length entries) 0) (call === (ref entries end) cell))) (block (return (call Ok))) (elseif (block (call in cell entries)) (block (= currently_in (call setdiff entries exits)) (= cycle (ref currently_in (call : (call findfirst (call isequal cell) currently_in) end))) (if (call ! (call cycle_is_among_functions topology cycle)) (block (for (= cell cycle) (block (= (ref errable cell) (call CyclicReferenceError topology cycle)))) (return (call Cycle cycle)))) (return (call Ok))))))) (= current_entries_num (call length entries)) (= current_exits_num (call length exits)) (call push! entries cell) (= assigners (call where_assigned topology cell)) (= referencers (call |> (call where_referenced topology cell) (. Iterators (inert reverse)))) (if (&& (call ! allow_multiple_defs) (call > (call length assigners) 1)) (block (for (= c assigners) (block (= (ref errable c) (call MultipleDefinitionsError topology c assigners)))))) (= should_continue_search_down (|| (call ! skip_at_partial_multiple_defs) (call all (-> c (block (|| (call === c cell) (call ∈ c exits)))) assigners))) (= should_search_fellow_assigners_if_any (call ! allow_multiple_defs)) (= to_search_next (if should_continue_search_down (block (if should_search_fellow_assigners_if_any (block (call union assigners referencers)) (block referencers))) (block (ref C)))) (for (= c to_search_next) (block (if (call !== c cell) (block (= child_result (call bfs c)) (if (|| (call isa child_result Ok) (call ∉ cell (. child_result (inert cycled_cells)))) (block (continue))) (if (call ! (call is_soft_edge topology cell c)) (block (call deleteat! entries (call : (call + current_entries_num 1) (call length entries))) (call deleteat! exits (call : (call + current_exits_num 1) (call length exits))) (return child_result))) (for (= cycled_cell (. child_result (inert cycled_cells))) (block (call delete! errable cycled_cell))) (if (call === (ref entries end) c) (block (call pop! entries))) (continue))))) (call push! exits cell) (call Ok))) (= prelim_order_1 (call sort roots (kw alg MergeSort) (kw by (-> c (block (call cell_precedence_heuristic topology c)))))) (for (= i (call : (call length prelim_order_1) -1 1)) (block (call bfs (ref prelim_order_1 i)))) (= ordered (call reverse exits)) (call TopologicalOrder topology (call setdiff ordered (call keys errable)) errable))))
│ └─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
│
│ Stacktrace:
│ [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097
│ [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162
│ [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257
│ [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287
│ [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)
│ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33
│ [6] include(mapexpr::Function, mod::Module, _path::String)
│ @ Base Base.jl:326
│ [7] top-level scope
│ @ ~/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:24
│ [8] include(mod::Module, _path::String)
│ @ Base Base.jl:325
│ [9] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
│ @ Base loading.jl:3296
│ [10] top-level scope
│ @ stdin:5
│ [11] eval(m::Module, e::Any)
│ @ Core boot.jl:522
│ [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ @ Base loading.jl:3132
│ [13] include_string(m::Module, txt::String, fname::String)
│ @ Base loading.jl:3142 [inlined]
│ [14] exec_options(opts::Base.JLOptions)
│ @ Base client.jl:353
│ [15] _start()
│ @ Base client.jl:596
│ in expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8
│ in expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:2
│ in expression starting at stdin:5
└
ERROR: The following 3 packages failed to precompile:
PlutoStaticHTML
Failed to precompile PlutoStaticHTML [359b1769-a58e-495b-9770-312e911026ad] to "/home/pkgeval/.julia/compiled/v1.14/PlutoStaticHTML/jl_D5G0M0" (ProcessExited(1)).
Pluto
Failed to precompile Pluto [c3e4b0f8-55cb-11ea-2926-15256bba5781] to "/home/pkgeval/.julia/compiled/v1.14/Pluto/jl_5WS8Sl" (ProcessExited(1)).
PlutoDependencyExplorer
Failed to precompile PlutoDependencyExplorer [72656b73-756c-7461-726b-72656b6b696b] to "/home/pkgeval/.julia/compiled/v1.14/PlutoDependencyExplorer/jl_Li3Ccz" (ProcessExited(1)).
Loading failed after 45.3s
ERROR: LoadError: failed process: Process(`/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so -g1 --check-bounds=yes --inline=yes --check-bounds=yes --pkgimages=existing -e 'using PlutoStaticHTML'`, ProcessExited(1)) [1]
Stacktrace:
[1] pipeline_error(proc::Base.Process)
@ Base process.jl:612 [inlined]
[2] run(::Cmd; wait::Bool)
@ Base process.jl:525
[3] run(::Cmd)
@ Base process.jl:522
[4] top-level scope
@ /PkgEval.jl/scripts/evaluate.jl:197
[5] include(mod::Module, _path::String)
@ Base Base.jl:325
[6] exec_options(opts::Base.JLOptions)
@ Base client.jl:355
[7] _start()
@ Base client.jl:596
in expression starting at /PkgEval.jl/scripts/evaluate.jl:188
PkgEval failed after 1209.97s: package fails to precompile