title: Haskell delete Chars from String
body: <p>I'm trying to write a function of the form</p>
  
  <pre><code>f :: String -&gt; [String]
  f str = ...
  </code></pre>
  
  <p>that returns the list of all the strings formed by removing exactly one character from <code>str</code>. For example:</p>
  
  <pre><code>ghci&gt; f "stack"
  ["tack","sack","stck","stak","stac"]
  </code></pre>
  
  <p>Because <code>String</code> and <code>[Char]</code> are synonymous, I could use the index, but I know that you should avoid doing that in Haskell. Is there a better way besides using the index?</p>