# Elm List like Elixir Enum.chunk

**URL:** <https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952>\
**Category:** Learn\
**Created:** [March 20, 2018, 9:06pm UTC](https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952 "2018-03-20T21:06:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tierralibre](https://avatars.discourse-cdn.com/v4/letter/t/8e7dd6/32.png) [@tierralibre](https://discourse.elm-lang.org/u/tierralibre)\
**Post date:** [March 20, 2018, 9:06pm UTC](https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952/1 "2018-03-20T21:06:15Z")

</div>

Hello all!

What is the best way to something similar to what Enum.chunk does in elixir?  
Let’s say that I have a list and I want to take every 7 items and paint them.

Thank you!

---

<div class="post-metadata">

**Author:** ![brian](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/brian/32/2180_2.png) [@brian](https://discourse.elm-lang.org/u/brian)\
**Post date:** [March 20, 2018, 9:25pm UTC](https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952/2 "2018-03-20T21:25:29Z")

</div>

I’m happy to answer your question, but I think we may be facing an [X/Y problem](http://xyproblem.info/). What are you trying to accomplish? There may be a specific piece of knowledge someone has that may solve the problem you’re actually having. 🙂

That said, here’s how you’d chunk a list into groups of seven, with a list of whatever remains at the end.

```elm
sevens : List a -> List (List a)
sevens mapper items =
    case items of
        a :: b :: c :: d :: e :: f :: g :: rest ->
            [a, b, c, d, e, f, g] : sevens rest

        _ ->
            items

```

---

<div class="post-metadata">

**Author:** ![loganmac](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@loganmac](https://discourse.elm-lang.org/u/loganmac)\
**Post date:** [March 20, 2018, 9:38pm UTC](https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952/3 "2018-03-20T21:38:32Z")

</div>

I might try it another way. Here’s an Ellie: [https://ellie-app.com/nWknYsnhNa1/1](https://ellie-app.com/nWknYsnhNa1/1) 🙂

---

<div class="post-metadata">

**Author:** ![StoatPower](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/stoatpower/32/751_2.png) [@StoatPower](https://discourse.elm-lang.org/u/StoatPower)\
**Post date:** [March 20, 2018, 11:09pm UTC](https://discourse.elm-lang.org/t/elm-list-like-elixir-enum-chunk/952/4 "2018-03-20T23:09:01Z")

</div>

I believe [List.Extra.greedyGroupsOf](http://package.elm-lang.org/packages/elm-community/list-extra/7.1.0/List-Extra#greedyGroupsOf) also does what you’re asking.
