If you want to contact me, use my username at Gmail.
[ my public key: https://keybase.io/holysz; my proof: https://keybase.io/holysz/sigs/X_fR6Li4U1P5lNXm-V0ccha73PNi0KSCQvtk70bfuWo ]
What I would do here is something like:
1. standardize on JSON as the internal representation, and
2. write a simple (<1kloc) Python-based compiler that takes human-friendly, Pythonic syntax and transforms it into that JSON, based on operator overloading.
So you would write something like:
from factgraph import Max, Dollar # or just import *
tentative_tax_net_nonrefundable_credits = Max(Dollar(0), total_tentative_tax - total_nonrefundable_credits)
and then in class Node (in the compiler): def __sub__(self, other):
return SubtractNode(minuent=self, subtrachents=[other])
Values like total_nonrefundable_credits would be objects of class Node that "know where they come from", not imperatively-calculated numbers. The __sub__ method (which is Python's way of operator overloading) would return a new node when two nodes are subtracted.The US has no single national photo + chip ID card that is available to everybody, for free, including illegal and semi-illegal immigrants and homeless people with no access to their birth certificate and such.
It's completely crazy to me that you can be "out of status" with the USCIS and still get a social security card and a bank account, for example.
I just append "explain", or start with "tell me."
So instead of:
"Why is foo str|None and not str"
I'd do:
"tell me why foo is str|None and not str"
or
"Why is foo str|None and not str, explain"
Which is usually good enough.
If you're asking this kind of question, the answer probably deserves to be a code comment.
This project is an enhanced reader for Ycombinator Hacker News: https://news.ycombinator.com/.
The interface also allow to comment, post and interact with the original HN platform. Credentials are stored locally and are never sent to any server, you can check the source code here: https://github.com/GabrielePicco/hacker-news-rich.
For suggestions and features requests you can write me here: gabrielepicco.github.io