I wrote something similar a while ago https://github.com/agrafix/grabcite — I was surprised how far you could get with just heuristics. The nice thing is that many academic papers are also available with their LaTeX source which avoids a lot of the structure guessing from PDFs.
Shameless plug: I’ve built https://board.new to help with ad-hoc collaborative whiteboarding. One thing I’ve found using more sophisticated tools was that folks spent too much time making it look nice vs discussing the content. Hence this tool that doesn’t distract with that.
That said, mermaid looks pretty nice —- going to try that out for my design documents once settled on an approach.
We noticed that most whiteboarding apps out there over-focused on perfect diagrams, so a lot of time in meetings is lost due to rearranging boxes and arrows. Hence, we built https://letsboard.co - a very simple collaborative whiteboarding tool and are using it daily now.
One of the things that has bitten me before was the maximum allowed nesting depth - this was different in two implementations, so one rejected the payload while the other one parsed it fine :(
The + operator is not an explicit numeric conversion. What numeric type is it converting to? In Python you can also combine two lists using the + operator.
Haskell for example requires to be explicit about this:
Write a browser game, put it online and play it with friends. At least that's what I did ( https://github.com/agrafix/managerslife ), it was very fun and rewarding, and I learned a lot!
Btw you can get "if then else" at AST level using RebindableSyntax [1], but pattern matching (case...) will still allow the end-user to "side step" this.
Many applications that we get do not meet the key requirements from the job posting and are very generic. If the applicant did not put any effort into the application - why should I? Maybe this process can be automated with some ML/NLP to check if the application (a) matches at least SOME requirements and (b) is not too generic but actually hand written to match your posting and company.
[0] https://en.wikipedia.org/wiki/Structural_type_system