# Difference b/w include("foo.jl") and eval(parse(readstring(open( "foo.jl" ))))

**URL:** <https://discourse.julialang.org/t/difference-b-w-include-foo-jl-and-eval-parse-readstring-open-foo-jl/7807>\
**Category:** Internals & Design\
**Created:** [December 16, 2017, 10:31pm UTC](https://discourse.julialang.org/t/difference-b-w-include-foo-jl-and-eval-parse-readstring-open-foo-jl/7807 "2017-12-16T22:31:27Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [December 26, 2017, 6:47pm UTC](https://discourse.julialang.org/t/difference-b-w-include-foo-jl-and-eval-parse-readstring-open-foo-jl/7807/11 "2017-12-26T18:47:49Z")

</div>

> [@ihnorton](#):
>
> eliminate ordering entirely (so anything can be defined in any file and Boot figures out what comes first – this sounds impractical to me. Are you aware of any other languages which do something like this?)

Doesn’t rails load everything? Or at least give you the means to efficiently load everything (simply):

> **[How constant lookup and resolution works in Ruby on Rails](https://www.bigbinary.com/blog/how-constant-lookup-happens-in-rails)**
>
> Rails has its own way of maintaining constants and looking for it when it is not found. This blog discusses all that and much more.

edit: from that article, maybe they’ve constrainted the problem to be solvable. i will say though that i’ve had some success adding Boot.jl to PyCall, JuAFEM, Tensors, Gadfly, IJulia and Mocha (i.e. the tests pass)

* * *

Also to tie some stuff together, this is why I asked:

- [Is there a way to make module in anon workspace & then ingest it into a package?](https://discourse.julialang.org/t/is-there-a-way-to-make-module-in-anon-workspace-then-ingest-it-into-a-package/7909)

If there was a way to load submodules outside of the parent module and inject it, the problem might be easier

---

_[View the full topic](https://discourse.julialang.org/t/difference-b-w-include-foo-jl-and-eval-parse-readstring-open-foo-jl/7807)._
