As someone who spent many years putting data in S-expression format, it seems natural to me to write multiple S-expressions (or JSON objects) to a file, and expect a reader to be able to read them back one at a time.

This seems comparatively uncommon in the JSON world.  Accordingly, it looks like the most popular JSON parsing lib, Aeson, doesn't directly provide this functionality.  Functions like decode just return a "Maybe a", not the left-over input, meaning that you would need to somehow split up your multi-object file before attempting to parse, which is annoying and error prone.

It looks like maybe you can get Aeson to do what I want by dropping down to the attoparsec layer and messing with IResult.

But is there a better way to do this?  Would this be a good convenience routine to add to aeson in a PR?  I.e. would anyone else use this?

Thanks,
  -Ryan