Much like zledger and gledger, the goal of rledger was to rewrite ledger in a language I was interested in while adding YNAB-style envelope budgeting.
The first version of rledger used nom, a parser combinator library. On paper, it seemed like this would make the process of writing a parser for the ledger file format but it turned out to be more challenging than I expected. In the end, I rewrote the parser to be more like gledger's which reads a ledger file line by line and treats the first character of each as a hint as to how to parse it.