title: How can I parse numbers written in English words into their numeric equivalent in F#?
body: <p>What's the easiest way in F# (in a functional/recursive style) to, given a number in words, convert it to it's numeric equivalent?</p>
  
  <p>I'm looking at only English for now. E.g:</p>
  
  <pre><code>let parseNumber (s : string) =
      match s with
      | "One" -&gt; 1
      | _ - failwith "Cannot parse"
  
  let result = parseNumber "One Thousand Two Hundred"
  // result should be 12000
  </code></pre>
  
  <p>Is there any way of doing this that doesn't involve a massive look-up table?</p>