# Some questions on \`startup.jl\`

**URL:** <https://discourse.julialang.org/t/some-questions-on-startup-jl/99752>\
**Category:** General Usage\
**Tags:** question\
**Created:** [June 2, 2023, 4:00am UTC](https://discourse.julialang.org/t/some-questions-on-startup-jl/99752 "2023-06-02T04:00:35Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![heliosdrm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/heliosdrm/32/3851_2.png) [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)\
**Post date:** [June 2, 2023, 6:07am UTC](https://discourse.julialang.org/t/some-questions-on-startup-jl/99752/2 "2023-06-02T06:07:20Z")

</div>

1. Because it can fail, e.g. if the package is not actually installed.
2. Because all the code between `do ... end` is an anonymous function, and [it is not possible to import modules in a function’s scope](https://discourse.julialang.org/t/why-wont-julia-let-me-put-a-module-import-within-a-function/46504/4). So this is one of those rare cases where it makes sense to use `@eval` inside a function, so that the instruction is executed in the outer scope.

---

_[View the full topic](https://discourse.julialang.org/t/some-questions-on-startup-jl/99752)._
