{"repo":"D00mch/DartClojure","free":true,"listed":false,"github":"https://github.com/D00mch/DartClojure","clone":"git clone https://github.com/D00mch/DartClojure.git","description":"Opinionated Dart->Clojure translater","language":"Clojure","stars":103,"topics":["clojure","dart","flutter"],"license":null,"category":"mobile-apps","readme_excerpt":"DartClojure Opinionated Dart to Clojure converter for Flutter widgets. It doesn't (and probably will not) convert classes, setters, or annotations—only the parts that can be reused after translation. How to use There are 9 options now: 1. Calva (VSCode); 2. Intellij Idea; 3. Jvm/Js REPL; 4. Clojure Cli; 5. Jar; 6. Native image; 7. Native image, Emacs; 8. NPM CLI; 9. NPM library; Why is it not a full dart- clojure converter? The converted code would not be idiomatic. Instead of using classes, there is a [widget][1] macro. Setters are also useless; there would be a :state atom and swap! or reset! functions for changing the state. So I see little value in converting everything. But rewriting widgets is routine and most of the time translates literally: Three more examples: Supported - constructor invocation; - static, factory methods invocation; - named arguments; - (typed) lists, maps, cascade operator ( .. ); - math and logical expressions; - ternary operators; - lambdas; - comments (will be removed); - nesting children with the f/nest macro; - constants; - variables in strings with $; - raw (interpreted) strings like r'some string $dollar' - class/methods/fields declarations (not tested well, pre-alpha); - try-catch; - for in; - switch with breaks and returns; Not supported - bitwise operators; - proper aliases for everything, it's not possible to get this info generally; - enums; - external keyword; - yield; - exports; - switch with continue, without breaks or returns (consi","default_branch":null,"files":null,"tree":[],"storefront":"/r/D00mch","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/D00mch/DartClojure/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}