Hi, there, HX-2022-01-29:
A vision for future programming in ATS Before I start, I would like to quote captain Woodrow F. Call, a character played by Tommy Lee Jones in Lonesome Dove: "Man of Vision you say.......? Yeah. Hell of a vision." ~ Woodrow Call By the way, here is the end of the Lonesome Dove miniseries where Woodrow Call uttered the above line when interviewed by a reporter: https://www.facebook.com/caldwellwritesdotcom/videos/lonesome-dove-tells-the-story-of-two-friends-who-were-legendary-texas-rangers-an/440279033007270 Ideally, a programming language should be simple and general, and it should permit extensive error checking, facilitate proofs of program properties such as correctness, and possess a correct and efficient implementation. Invariably there will be some conflicts among these goals which must be resolved with careful attention to the needs of the user. I learned the above from Prof. John Reynolds when I was a PhD student at CMU. ATS3 is not an ordinary programming language. It is more like a programming language for support meta-programming of all sorts. Suppose we want to have programs written in some language X. Then we traditionally write these programs manually in X. ATS3 provides an alternative: We can implement a compiler from ATS3 to X to allow us to write programs in ATS3 and then compile them to code in X. In practice, we hope to do co-programming with ATS3 and X; code in X generated from ATS3 source can be combined with code in X obtained otherwise. By programming in ATS3, we can benefit greatly from the advanced type-checking that allows many varities of bugs to be flushed out at compile-time; we can also benefit greatly from the extensive use of templates that allows massive amount of quality code to be generated in an automated manner. In a following post, I will use a concrete example (co-programming with ATS3 and Javascript) to outline some of the big steps involved in building a compiler to support co-programing with ATS3 and X, where X is just a placeholder for some programming language of one's choice. Cheers, --Hongwei ################################################################## For previously post messages: https://github.com/githwxi/ATS-Xanadu/tree/master/docgen/NOTES ################################################################## -- 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 ats-lang-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/55680613-d404-4419-aa3a-8852bd10f3dbn%40googlegroups.com.