Skip to content
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

Reporting UX milestones #126

Open
4 of 6 tasks
xkikeg opened this issue May 16, 2024 · 0 comments
Open
4 of 6 tasks

Reporting UX milestones #126

xkikeg opened this issue May 16, 2024 · 0 comments

Comments

@xkikeg
Copy link
Owner

xkikeg commented May 16, 2024

OK let me have some Japanese to cut my recognition overhead. Ask me if you want English version (which I doubt that happens though)

Why I need reporting?

Initially okane-CLI is a complementary tool of the Ledger CLI and I have no plan to support any reporting feature. However, I found Ledger CLI codebase is leaking stack-allocated pointers into several places, which makes hard to ensure that the tool is computing the right value. Then I'm now motivated to write my own.

Milestones

  • [development] include含めてすべてのTxnをrecursiveに読める
  • [development] Each Txnのbalanceを計算できる
  • すごく基本的なbalance reportを出せる
  • すごく基本的なregister reportを出せる
  • 為替変換を実装する
  • 月ごとなどaggregationを実装する

Non-Goal

  • Automated transcation 使ってないから
  • variable definiton 使ってないから
  • Function definition 使ってないから/できたらチューリング完全性を剥奪したい

Detailed design

為替変換

実装

Recursive reader

とりまやるだけ。最初の段階では難しいことはしない、全部Vecに詰め込む勢いでおk。もしメモリ使用量が問題になってきたら打つべきことも出てくるだろう…

  • Arena allocator (e.g. Bumpalo) 副次的にinternできてメモリ使用量を爆下げできるかも?
  • Small vec / small string optimization これは上をしたほうがいいかも。結局アロケーションを下げるよりinternできるほうがつよい。

Evaluation order

まず順序だって読み込む、これが最初
それぞれのtransactionではbalanceだけ計算→してなかったらエラー
これから副次的にpriceが取れる
ここでは-X CHF的なconversionはしない?←まだ値段がわからないから。そのかわりCommodity+dateのペアで取らないとだめ?two-pass?

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