# ANN: the implosion of ChainMap.jl

**URL:** <https://discourse.julialang.org/t/ann-the-implosion-of-chainmap-jl/1995>\
**Category:** Community\
**Tags:** package\
**Created:** [February 9, 2017, 1:48am UTC](https://discourse.julialang.org/t/ann-the-implosion-of-chainmap-jl/1995 "2017-02-09T01:48:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [February 9, 2017, 1:48am UTC](https://discourse.julialang.org/t/ann-the-implosion-of-chainmap-jl/1995/1 "2017-02-09T01:48:53Z")

</div>

If anyone has been using ChainMap, it has now imploded into 4 separate packages.

- [ChainRecursive](https://bramtayl.github.io/ChainRecursive.jl/stable/) provides a chaining tool that should be able to be run on entire files. It uses consistent rules to figure out which blocks you want to chain and chains them.

- [LazyCall](https://bramtayl.github.io/LazyCall.jl/stable/) provides a way to store functions and their arguments together for later use in functional programming, and also, a flexible alternative to dot vectorization.

- [CreateMacrosFrom](https://bramtayl.github.io/CreateMacrosFrom.jl/stable/) provides a simple way to create macros from underlying functions. These underlying functions can be reused to make bigger and better macros.

- [NumberedLines](https://bramtayl.github.io/NumberedLines.jl/stable/) attaches line numbers to their corresponding lines. This makes it easier to write macros that retain line number information.

---

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [April 8, 2017, 2:57am UTC](https://discourse.julialang.org/t/ann-the-implosion-of-chainmap-jl/1995/2 "2017-04-08T02:57:13Z")

</div>

Could you please provide an example of a macro that uses NumberedLines? My function-rewriting macros tend to have very poor line numbering, and I’m not sure why.

---

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 8, 2017, 10:45am UTC](https://discourse.julialang.org/t/ann-the-implosion-of-chainmap-jl/1995/3 "2017-04-08T10:45:37Z")

</div>

Sure. Well my macro in ChainRecursive.jl uses Numberedlines, and there’s a simplified version in the latest docs: [https://bramtayl.github.io/NumberedLines.jl/latest/](https://bramtayl.github.io/NumberedLines.jl/latest/).

Anyway, feel free to open an issue if you have any requests/recommendations for other examples.
