Fwd: [ats-lang-users] ATS2-0.2.0

74 views
Skip to first unread message

Hongwei Xi

unread,
Jun 9, 2015, 10:02:34 PM6/9/15
to ats-lan...@googlegroups.com

---------- Forwarded message ----------
From: Hongwei Xi <hw...@bu.edu>
Date: Tue, Jun 9, 2015 at 10:01 PM
Subject: [ats-lang-users] ATS2-0.2.0
To: ats-lang-users@...
Hi,

I am glad to announce the release of ATS2-0.2.0.

The primary change in this release is the added support for
externally solving constraints gathered during typechecking.
Currently, the command [patsolve_z3] can be generated for this
purpose. Please see ATS2-contrib/ATS-extsolve-z3 for more details.

######

The official website for ATS is:

http://www.ats-lang.org

The following packages are included in this release:

ATS2-Postiats-0.2.0.tgz
ATS2-Postiats-contrib-0.2.0.tgz
ATS2-Postiats-include-0.2.0.tgz

I have included ATS2-Postiats-contrib (instead of
releasing it separately) as it is truly by now an
indispensible part of ATS2.

After installing ATS-Postiats-include, one can compile
the C code generated from ATS source without installing
the ATS compiler. So a convenient way to distribute software
written in ATS is to simply release the C code generated
from the ATS source.

See below for some major additions and changes since the
last release (ATS2-0.1.13).

Cheers!

--Hongwei

######

This is the 23rd release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Re-structuring CATS-parsemit
2. Creating ATS-Postiats-frozen for storing inactive projects
3. Porting Atscc2js based on the newly re-structured CATS-parsemit
4. Porting Atscc2php based on the newly re-structured CATS-parsemit
5. Porting Atscc2py based on the newly re-structured CATS-parsemit
6. Porting Atscc2pl based on the newly re-structured CATS-parsemit
7. Handling of HIPintrep is now supported
8. Porting ATSLIB/libats/funmap_rbtree to ATS2 from ATS1
9. Modifying jsonization of constraints to support ATS-extsolve
10. ATS-extsolve-z3 (Z3-based ATS-extsolve) can now be put into use
11. Performing occurs-checking before HYPObind(s2v, s2e) can be formed

------------------------------------------------------------------------------
_______________________________________________
ats-lang-users mailing list
ats-lang-users@...
https://lists.sourceforge.net/lists/listinfo/ats-lang-users

Yannick Duchêne

unread,
Jun 9, 2015, 11:49:09 PM6/9/15
to ats-lan...@googlegroups.com


Le mercredi 10 juin 2015 04:02:34 UTC+2, gmhwxi a écrit :

######

The official website for ATS is:

http://www.ats-lang.org

Excuse me Sir, the link to Postiat 0.2 on http://www.ats-lang.org/Downloads.html , seems broken (error 404). It's Ok from SourceForge directly.

Hongwei Xi

unread,
Jun 10, 2015, 12:27:22 AM6/10/15
to ats-lan...@googlegroups.com
Fixed. Thanks!

--
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-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/9ff0bc69-47b4-48e6-9bd8-7afff3c1a5be%40googlegroups.com.

Yannick Duchêne

unread,
Jun 10, 2015, 1:24:22 AM6/10/15
to ats-lan...@googlegroups.com


Le mercredi 10 juin 2015 06:27:22 UTC+2, gmhwxi a écrit :
Fixed. Thanks!


That's me who have to thanks :p .

I hope I'm not to say something wrong, but I feel I'm facing an error trying to rebuild ATSCC2JS. `make pkgreloc`  fails. I tried to fix it changing line 61 of the Makfile

from this…

        $(CPF) $(CATSPARSEMIT_source)/CATS/catsparse_*_dats.c $(CATSPARSEMIT)/.

… to this (which may be wrong too):

        $(CPF) $(CATSPARSEMIT_source)/DATS/catsparse_*.dats $(CATSPARSEMIT)/.

But I still get this error during `make`:

        gcc: error: ./.CATS-parsemit/catsparse_mylib_dats.c: Aucun fichier ou dossier de ce type
        gcc: error: ./.CATS-parsemit/catsparse_include_all_dats.c: Aucun fichier ou dossier de ce type

“Aucun fichier ou dossier de ce type” means “No such file or directory”.

Without this attempt to fix as above, I got this during `make pkgreloc`:

        cp -f […]/MEDIUM/CATS-parsemit/CATS/catsparse_*_dats.c ./.CATS-parsemit/.
        cp: impossible d'évaluer «[…]/MEDIUM/CATS-parsemit/CATS/catsparse_*_dats.c»: Aucun fichier ou dossier de ce type

It complains it can't find the files. Indeed, actually, the designated CATS directory is empty.

I'm using the `projects` directory from GitHub, as the archive from SourceForge does not contains one

(not sure if I should post it in the ATSCC2JS thread or here… I'm going with here)

Hongwei Xi

unread,
Jun 10, 2015, 1:40:48 AM6/10/15
to ats-lan...@googlegroups.com
You can find the following lines as line 66 and line 67

(cd ATS2-contrib/projects/MEDIUM/CATS-parsemit && time make all)
(cd ATS2-contrib/projects/MEDIUM/CATS-atsccomp/CATS-atscc2js && time make build && mv -f atscc2js ${PATSHOME}/bin)

Basically, you need to compile CATS-parsemit before you can compile CATS-atscc2js.

I am still thinking about a proper way to package and distribute ATS code...


--
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-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.

Yannick Duchêne

unread,
Jun 10, 2015, 2:45:07 AM6/10/15
to ats-lan...@googlegroups.com
Seems Ok now.

Just a few notes:

  * The installaton for dependency to libgmp3-dev may be changed into a dependency to libgmp-dev, which ends to be libgmp10-dev. That's not the first time I build ATS with it, and I never get an error. GMP3 is now considered obsolete, if I'm not wrong.

  * The installation for dependency to libjson-c-dev is missing.

  * One should not run this script without carefully reviewing it first (ex. it appends to `.bashrc`, which may not be Ok nor correct for various reasons).

I hope to have a look to `patsolve_z3` somewhere in the future ; it built successfully, at least.

I also wonder since some time, if it's Ok to use patscc2js (and now patsolve_z3) without a wrapper script in `bin`. I always created one for patscc2js and moved the binary to `lib/ats2-postiats-0.2.0/bin` like it is automatically done for `patscc` and `patsopt`, but I wonder if it's really required.

gmhwxi

unread,
Jun 10, 2015, 10:53:25 AM6/10/15
to ats-lan...@googlegroups.com


On Wednesday, June 10, 2015 at 2:45:07 AM UTC-4, Yannick Duchêne wrote:
Seems Ok now.

Just a few notes:

  * The installaton for dependency to libgmp3-dev may be changed into a dependency to libgmp-dev, which ends to be libgmp10-dev. That's not the first time I build ATS with it, and I never get an error. GMP3 is now considered obsolete, if I'm not wrong.

Changed. libgmp-dev replaces libgmp3-dev.
 

  * The installation for dependency to libjson-c-dev is missing.

Added.
 

  * One should not run this script without carefully reviewing it first (ex. it appends to `.bashrc`, which may not be Ok nor correct for various reasons).

You are right. The script is intended for use on a Cloud9 account.
 

I hope to have a look to `patsolve_z3` somewhere in the future ; it built successfully, at least.

I also wonder since some time, if it's Ok to use patscc2js (and now patsolve_z3) without a wrapper script in `bin`. I always created one for patscc2js and moved the binary to `lib/ats2-postiats-0.2.0/bin` like it is automatically done for `patscc` and `patsopt`, but I wonder if it's really required.

No, it is not required as long as ${PATSHOME}/bin is included in ${PATH}.
 

Yannick Duchêne

unread,
Jun 13, 2015, 4:46:29 AM6/13/15
to ats-lan...@googlegroups.com


Le mercredi 10 juin 2015 07:40:48 UTC+2, gmhwxi a écrit :

I am still thinking about a proper way to package and distribute ATS code...



What about Pkg-config? Could this play the role or what would be missing?

I feel it's a kind of de-facto standard, it's not restricted to Linux, as it used on Windows and Mac as well.
Reply all
Reply to author
Forward
0 new messages