Skip to content

Further verification #43

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ThomasdenH opened this issue Nov 2, 2020 · 2 comments
Open

Further verification #43

ThomasdenH opened this issue Nov 2, 2020 · 2 comments

Comments

@ThomasdenH
Copy link
Contributor

I'm thinking of how to proceed with further verification done by beancount. For example the balancing of transactions.

Beancount manipulates transactions during parsing, for example it fills empty postings and collects options. It would be nice to uphold these invariants in some way and pass them to things like plugins. At the same time, these constructs can't be used to reconstruct the original beancount file.

So, there is good reason to have two parallel systems of types publically exposed, while at the same time that can be confusing. I don't really have a good idea on how to solve it at the moment. Maybe there is sufficient overlap and additions akin to IncompletePosting will be enough.

@ThomasdenH
Copy link
Contributor Author

So, the differences are at least:

  • No incomplete postings
  • No option statements
  • Included files are merged (I think)

Another question is; where would this functionality reside? Is this part of the parser crate?

@ThomasdenH
Copy link
Contributor Author

Reading the beancount v3 document, this exact issue is brought up. Apparently v2 doesn't handle this well at the moment so there will be a switch to use explicit types there as well. Furthermore, beancount will use protobufs to interface with other code, which should make things like compliance testing very easy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant