Thanks! These days I have been thinking about (and working on) a tutorial system for ATS. And myatscc is an attempt to provide an option that avoids the need to make directly use of patscc/patsopt.
Yes, you can use myatscc to compile multiple files. I will be happy to show it to you. First, I suggest that you make an npm-package for ats3d, which, by the way, is beautifully written. If you are not familiar with the process of npm-packaging, I will be happy to do it. It does not take much time at all. Afterwards, let use myatscc to compile all the test files inside ats3d/TEST. >>The way I see it, it should be possible for the compiler (or some other tool) to infer module dependencies automatically? I have not thought about it carefully. Incidentally, we discussed the ways of automating programmer's workflow > here: > https://github.com/RyanTKing/wombats/issues/1 > I'm going to try to adapt the existing xmake project to tailor it to the > needs of ATS programming. I don't have much time for this, at the moment, > though. > Sounds great! I will talk to Ryan. On Thursday, April 27, 2017 at 12:23:30 AM UTC-4, Artyom Shalkhakov wrote: > > Hi Hongwei, > > On Wednesday, April 26, 2017 at 6:24:19 AM UTC+6, gmhwxi wrote: >> >> >> Often a file of ATS source code has to be compiled with the use of a >> Makefile. >> This can be quite inconvenient in practice. >> >> When teaching, I have to answer countless questions regarding the need of >> certain >> flags for compiling ATS code through the use of patscc/patsopt directly. >> >> I recently wrote a command 'myatscc' (which should be available to you if >> you build >> the latest version of ATS (that is, ATS2-0.3.5). The simple idea behind >> of 'myatscc' is >> like this: >> >> Given a file, say, foo.dats, one should be able to compile it by issuing >> the following >> command: >> >> myatscc foo.dats >> >> Whatever needed for compiling foo.dats should be written as some form of >> comment >> inside foo.dats. For instance, the following comment is assumed to be the >> default (if >> nothing is given explicitly): >> >> (* >> ##myatsccdef=\ >> patscc -D_GNU_SOURCE -DATS_MEMALLOC_LIBC -o $fname($1) $1 >> *) >> >> $1: the first non-flag argument passed to myatscc >> $fname: a built-in function for myatscc that returns the proper part of a >> filename >> >> If you just want to see what myatscc generates (but not to execute what >> is generated), >> please do: >> >> myatscc --dryrun foo.dats >> >> I am pretty sure that 'myatscc' will save a great deal of my own time :) >> >> > This is awesome! > > Can it compile multi-module programs too? I currently have a very clumsy > Makefile setup here: > > https://github.com/ashalkhakov/ats3d/tree/master/src/TEST > > (see specifically the Makefile) > > The way I see it, it should be possible for the compiler (or some other > tool) to infer module dependencies automatically? > > Incidentally, we discussed the ways of automating programmer's workflow > here: > > https://github.com/RyanTKing/wombats/issues/1 > > I'm going to try to adapt the existing xmake project to tailor it to the > needs of ATS programming. I don't have much time for this, at the moment, > though. > > >> 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 ats-lang-users+unsubscr...@googlegroups.com. To post to this group, send email to ats-lang-users@googlegroups.com. 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/4c3fd51e-7e01-4b5b-84af-9e51fbbdfb06%40googlegroups.com.