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.

Reply via email to