# Lazy map/broadcast/filter etc

**URL:** <https://discourse.julialang.org/t/lazy-map-broadcast-filter-etc/719>\
**Category:** General Usage\
**Created:** [December 4, 2016, 7:26am UTC](https://discourse.julialang.org/t/lazy-map-broadcast-filter-etc/719 "2016-12-04T07:26:16Z")\
**Posts on this page:** 1\
**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:** [December 4, 2016, 7:26am UTC](https://discourse.julialang.org/t/lazy-map-broadcast-filter-etc/719/1 "2016-12-04T07:26:16Z")

</div>

Hi. This is a stupid question but I’m exploring options for a lazy version of broadcast, filter, etc in ChainMap.jl . So for example I have:

```julia
I = [1, 2]
J = [3, 4]
@chain begin
    @over ~I + ~J
    @over _ > 5 filter
end

```

going to

```julia
I = [1, 2]
J = [3, 4]
filter(k -> k > 0, broadcast( (i, j) -> i + j, I, J) )

```

but I’m wondering if there’s a way to do this that avoids allocations? Maybe via generators?
