# \[ANN\] Julia Snail, an Emacs development environment — first beta release

**URL:** <https://discourse.julialang.org/t/ann-julia-snail-an-emacs-development-environment-first-beta-release/35786>\
**Category:** Tooling\
**Tags:** emacs\
**Created:** [March 10, 2020, 6:09am UTC](https://discourse.julialang.org/t/ann-julia-snail-an-emacs-development-environment-first-beta-release/35786 "2020-03-10T06:09:01Z")\
**Posts on this page:** 1\
**Showing post:** 28

<div class="post-metadata">

**Author:** ![gcv](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gcv/32/11086_2.png) [@gcv](https://discourse.julialang.org/u/gcv)\
**Post date:** [March 14, 2020, 6:23am UTC](https://discourse.julialang.org/t/ann-julia-snail-an-emacs-development-environment-first-beta-release/35786/28 "2020-03-14T06:23:42Z")

</div>

> [@orialb](#):
>
> Is there maybe a possibility to store this information in a separate file (which can be excluded from version control), maybe as some alist? Or will this have a bad effect on performance?

Yes, manually specified file modules can be stored in a file, but I don’t love the idea of checking it for changes all the time or trying to figure out how to invalidate a cache.

Upon reflection, it seems quite possible to just have the parser store `include`s that it finds in-memory and on the fly. It shouldn’t affect performance much. It also has the advantage of working if the root module including a particular file changes (the change will be picked up on a re-parse of the new root module). I think that only leaves the corner case of a file going from being an `include`-only part of a module to something independent or a root module of its own.

I have to give some thought to how to correctly implement this feature, but it does seem like something I can add.

Thanks for the suggestion!

---

_[View the full topic](https://discourse.julialang.org/t/ann-julia-snail-an-emacs-development-environment-first-beta-release/35786)._
