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.