At CurrySoftware we run a fork of the Elm compiler which merges this PR and has a feature to use ports and the debugger with `elm reactor`: https://github.com/CurrySoftware/compiler
It is pretty much fully featured as what you would need in any typical web-app.
One crucial thing that is missing is guaranteed browser support. That is why we only used it for the clients internal frontend. But as I understand it, this will be addressed in the upcoming 5.0 release.
Also the resulting HTML is not always as optimal as I would hope.
All in all development is just so much faster and cleaner. No need to worry about layout and style. After using style-elements for a while, HTML + CSS seem like a really stupid idea to describe layout and style.
I have a vastly different experience:
At CurrySoftware we used style-elements[1] to build a internal frontent for a client.
The whole project only contains 15 lines of HTML that sets up the elm-app. Zero CSS or other HTML.
Try it out. IMO it changes everything about frontend development.
Also this approach allows very simple integration into code.
I.e. in rust:
pub fn telegram(msg: &str) {
use std::process::Command;
if let Err(e) = Command::new("telegram").arg(msg).status() {
println!("Error occured while calling the telegram command! {:?}", e);
}
}
Ever tried changing an owned field in a struct to a borrowed one with lifetimes?
Be prepared to change not only the struct and its fields but also everything else where it appears.
Yes, the compiler will catch your mistakes, but no, it's not something I love.
The system is not yet ready to be published but drop me a mail and I will send you some bash scripts and will try to answer questions.
We use a custom "Kontenrahmen" based on the same ideas as SKR03, as using numbers is not necessary with ledger. That also means we can only communicate with tax advisors through paper. But as we communicate with the Finanzamt directly, thats ok.
Probably you should read up or watch some youtube videos on accounting. (H)Ledger is a great tool which allows you to find your solutions to your problems.
At CurrySoftware GmbH we use ledger + recutils + aqbanking + custom bash scripts to automate many business processes.
Some of these processes are required by german law and many companys outsource these to accountants or tax advisors or buy shitty software from DATEV.
The great advantage in staying fully plaintext is, that you do not need to automate everything for the whole system to work.
Incoming invoices are frequent -> write a bash script, Outgoing invoices are frequent -> write a bash script. Paying the state back some VAT happens once a month, use emacs to do it manually. I really love it.
And I don't think the performance issue exists.
Computers are fast nowadays. Parsing recfiles is straightforward.
Also you could easily archive historic/old/probably irrelevant records.
There is a PR for that already, but it has not yet been merged: https://github.com/elm/compiler/pull/1850
At CurrySoftware we run a fork of the Elm compiler which merges this PR and has a feature to use ports and the debugger with `elm reactor`: https://github.com/CurrySoftware/compiler
And an example how to use it here: https://github.com/CurrySoftware/elm-reactor-example