For the record, here is the directory for Atscc2clj: https://github.com/githwxi/ATS-Postiats-contrib/tree/master/projects/MEDIUM/CATS-atsccomp/CATS-atscc2clj
There is a Makefile for generating atscc2clj. Also, some of the running examples can be found at: https://github.com/githwxi/ATS-Postiats-contrib/tree/master/projects/MEDIUM/CATS-atsccomp/CATS-atscc2clj/TEST Clojure uses a rather peculiar way to support optimization of recursive tail-calls. So far, ATS can only properly handle tail-call optimization if the call is located not inside the body of a pattern matching clause. Hopefully, this restriction can be removed later... On Thursday, July 14, 2016 at 5:15:35 PM UTC-4, gmhwxi wrote: > > > I am pleased to announce that > ATS code can now be compiled to Clojure (and then to JVM). > > I include an example as follows. > > Obviously, the generated Clojure code is not so-called idiomatic Clojure > code. > But it is really a lot safer than manually written Clojure code because > the source > of the code passes type-checking in ATS. > > ;;fun > (defn > fact[arg0] > ( > with-local-vars > [ > ;;knd = 0 > tmpret0 nil > tmp1 nil > tmp2 nil > tmp3 nil > ;;var tmplab, tmplab_clj > ] ;; with-local-vars > ;; __patsflab_fact > (var-set tmp1 (ats2cljpre_gt_int0_int0 arg0 0)) > (if @tmp1 > (do > (var-set tmp3 (ats2cljpre_sub_int0_int0 arg0 1)) > (var-set tmp2 (fact @tmp3)) > (ats2cljpre_mul_int0_int0 arg0 @tmp2) > ) ;; if-then > (do > 1 > ) ;; if-else > ) > ) ;; end-of-with-local-vars > ) ;; end-of-fun > > Now I need to figure out how to write apps in Clojure :) After that, we > should be able to write apps in ATS (via Clojure). > > Cheers! > > -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/0f96a381-dc36-40a7-8b01-a990819a8872%40googlegroups.com.
