6 ms·
Do Accounting in Clojure and Datomic
- stdbrouw 12y agoAlso see http://www.ledger-cli.org/ http://www.ledger-cli.org/ I like how Ledger is essentially just a system for doing arbitrary calculations on "buckets of quantities of stuff" a.k.a. accounts with various currencies and assets. I'm not going to say it's a walk in the park, but I've been able to get it set up so it spits out everything I need to do my Belgian taxes, and before that, everything I needed to do my UK taxes. It doesn't assume anything. Of course, happy to see some competition in this space. Can only benefit users like me.
- rushabh 12y agoPlug: Also checkout ERPNext https://erpnext.com https://erpnext.com We just released a new version couple of weeks back.
- holri 12y agoWhat is the difference to GnuCash? Why not contributing to it or the other numerous Free Software ERP systems?
- codeshaman 12y agoBecause Clojure. I've seen the phrase "I want to be programming Clojure all day" or "I program in Clojure for money !" many times. These people are enchanted by Clojure and I'm slowly becoming one of them. Maybe only the Haskell crowd has such a deep infatuation with their language. All other programming languages look boring and limited compared to it. Scheme and other lisps are another era -ish, Java, C++ and other OO languages are totally entangled in hierarchies of mutable code-data structures, it has concurrency "done right", pure functions mixed with mutable constructs, etc. So you have this 21st century functional lisp designed for concurrency with native interoperability with the Java and Javascript worlds. What's not to like ?
- didsomeonesay 12y ago> What's not to like ? Program startup times and JVM stacktraces, for one. Nevertheless I am just getting started with Clojure and really like what I am seeing so far.
- codeshaman 12y agoYes, that question had a little bit of salt in it as well. The startup times are one of the things, tooling isn't quite there yet (although getting better and better). And I have an allergy to the JVM/Java, but am willing to live with it because of the language. Clojure at C/C++ speed would be a true wonder.
- siscia 12y agoActually clojure is been designed to be hosted, it should not be difficult to build a clojure (dialect) that compile into a system language... Well of course it is difficult in the absolute meaning, but not so difficult... When I was younger I tried to figured out every single interface that clojure use, and there weren't too much... Some figure here[1] It would be a really interesting summer project... [1]: http://siscia.github.io/2013/11/28/visualize-hierarchy-behind-java-class/ http://siscia.github.io/2013/11/28/visualize-hierarchy-behin...
- yogthos 12y agoThere's a LLVM Clojure dialect called Pixie https://github.com/pixie-lang/pixie https://github.com/pixie-lang/pixie that has extremely fast startup
- yogthos 12y agoThe idea is that you do most of your work using a REPL. The typical workflow for Clojure is to start the app once and work with it interactively. Clojure editors have tight integration with the REPL, so you can send any code from the editor to be evaluated in the context of the running application image. While stacktraces are long, the relevant information tends to be easy to identify. In most cases you just look for a the first occurrence of a namespace from your project and trace from there. There also tools for making reading stack traces easier such as https://github.com/venantius/ultra https://github.com/venantius/ultra and https://github.com/magnars/prone https://github.com/magnars/prone
- ajuc 12y agoThis seems like a good application for clojure - accounting with it "never delete or modify information, just add new entries" should map nicely to persistent data structures and immutability as a core philosophy. Also for fun, probably.
- bloat 12y agoJuxt (https://juxt.pro/ https://juxt.pro/) is a Clojure consultancy in London. I guess they're dog-fooding, and advertising themselves, and doing a fun side project, all at once.
- amelius 12y agoI'm wondering when we will see an implementation of Datonic that has a more liberal license.
- siscia 12y agoThere is eventstore (https://geteventstore.com/ https://geteventstore.com/) but I have never tried it...
- Arcanum-XIII 12y agoNot exactly the same idea - one of the main point of Datomic is consistency, and no guarantees are made here. In fact, only the idea of immutable value seem to be shared.
- macmac 12y agoAGPL 3.0 - that is unfortunately a deal breaker for many.