Is there any way to improve (shorten) this F# code?
Most of your code can be replaced with a comprehension:

type Comment = { Author: string; Body: string }

let readAllComments () = 
  [|for line in System.IO.File.ReadAllLines("comments.txt") do
      match line.Split ';' with
      | [|author; body|] -&gt; yield {Author=author; Body=body}
      | _ -&gt; ()|]