title: How to extract the results of Http Requests in Elm
body: <p>Using Elm's <a href="http://package.elm-lang.org/packages/evancz/elm-html/4.0.2/Html">html</a> package it is possible to make http requests:</p>
  
  <pre><code>https://api.github.com/users/nytimes/repos
  </code></pre>
  
  <p>These are all the <a href="https://api.github.com/users/nytimes/repos">New York Times</a> repos on Github.  Basically there are two items I'd want from the Github response, the <strong>id</strong> and <strong>name</strong></p>
  
  <pre><code>[ { "id": 5803599,  "name": "backbone.stickit"  , ... }, 
    { "id": 21172032, "name": "collectd-rabbitmq" , ... }, 
    { "id": 698445,   "name": "document-viewer"   , ... }, ... ]
  </code></pre>
  
  <p>The Elm type for <code>Http.get</code> requires a Json <a href="http://package.elm-lang.org/packages/elm-lang/core/1.0.0/Json-Decode"><code>Decoder</code></a> object </p>
  
  <pre><code>&gt; Http.get
  &lt;function&gt; : Json.Decode.Decoder a -&gt; String -&gt; Task.Task Http.Error a
  </code></pre>
  
  <p>I don't know how to open lists yet.  So I put the decoder <code>Json.Decode.string</code> and at least the types matched, but I had no idea what to do with the <a href="http://package.elm-lang.org/packages/elm-lang/core/2.1.0/Task"><code>task</code></a> object.</p>
  
  <pre><code>&gt; tsk = Http.get (Json.Decode.list Json.Decode.string) url
  { tag = "AndThen", task = { tag = "Catch", task = { tag = "Async", asyncFunction = &lt;function&gt; }, callback = &lt;function&gt; }, callback = &lt;function&gt; }
      : Task.Task Http.Error (List String)
  
  &gt; Task.toResult tsk
  { tag = "Catch", task = { tag = "AndThen", task = { tag = "AndThen", task = { tag = "Catch", task = { tag = "Async", asyncFunction = &lt;function&gt; }, callback = &lt;function&gt; }, callback = &lt;function&gt; }, callback = &lt;function&gt; }, callback = &lt;function&gt; }
      : Task.Task a (Result.Result Http.Error (List String))
  </code></pre>
  
  <p>I just want an Elm object of the repo names so I can display in some <code>div</code> elements, but I can't even get the data out.</p>
  
  <hr>
  
  <p>Can someone <strong>slowly</strong> walk me through how to write the decoder and how to get the data out with Elm?</p>