Ledger: A DSL for accounting
Ledger is a Unix command line tool to do double-entry accounting using only text files. I personally use this tool to manage my personal finances, but since this blog is about Domain Specific Languages, in this post I focus on the domain-specific language used by this tool to model the general ledger used in accounting.
The goal of the language is to represent an accounting ledger, and the core construction is the transaction. So to represent a transaction, you just write the following in a text file and you have your first ledger file.
Continue Reading