Fwd: [ats-lang-users] ATS2-0.0.6 release

53 views
Skip to first unread message

Hongwei Xi

unread,
Feb 16, 2014, 11:58:57 PM2/16/14
to ats-lan...@googlegroups.com


---------- Forwarded message ----------
From: Hongwei Xi <hw...@bu.edu>
Date: Sun, Feb 16, 2014 at 11:55 PM
Subject: [ats-lang-users] ATS2-0.0.6 release
To: ats-lan...@lists.sourceforge.net


Hi, there,

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

See the following list for the added features and also bug-fixes.
Also, ats2-contrib has been upgraded to version-0.0.5.

Template compilation has been improved very significantly in this
release.

The template system in ATS2 is designed to be a "high-mechanism"
to greatly increase programming productivity. It is a feature orthogonal
to the support for dependent types and linear types in ATS. For instance,
one can write C-style templates in ATS that would have to be based on
macros if done in C directly.

In the current ATS2-contrib, there is a minimal API for using SDL2
in ATS. If someone wants to implement a game in ATS, this can be pretty
useful.

Last, I want to stress that programming in ATS2 is a lot more convenient
than in ATS. Hopefully, programming in ATS2 will become even more convenient
in the future. If you were "scared" away by ATS, please give ATS2 a try :)

Cheers,

--Hongwei

Date: February 16, 2014

This is the sixth 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. Symbol for overloading no longer require to be declared first.
2. Adding libats-hwxi/cstream for supporting a simple style of lexing
3. Adding a direct API for Simple DirectMedia Layer 2.0 (SDL2).
4. Both static/extern function names are now stamped at the end.
5. Fixing a bug in pattern matching: left-values should be dereferenced!
6. Polymorphic data constructors no longer require explicit type arguments
    (for compilation purpose).
7. Handling of template parameters is greatly improved.

------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
_______________________________________________
ats-lang-users mailing list
ats-lan...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ats-lang-users

Brandon Barker

unread,
Feb 17, 2014, 12:07:42 PM2/17/14
to ats-lan...@googlegroups.com
I hope I get a chance to do something with the SDL interface someday. Perhaps I can combine my interest in games (SDL), computer programming (ATS, Conway's game of life), and biology (in silico organisms), to make a pretty petri dish application simulating "real" cells.

More seriously or at least more to the point, I think it is a great library to have an interface to given the general interest in game programming, which can also make good use of the performance in ATS. Too many multimillion dollar games seem to have bugs in them that persist over the years.

Brandon Barker

unread,
Feb 17, 2014, 12:15:53 PM2/17/14
to ats-lan...@googlegroups.com
I was idly wondering what the best approach on porting something complex like Quake to ATS would be (I have no plans to do it right now). It seems that a direct port doesn't make a lot of sense in ATS for complex systems like a 3d gaming engine, where you have to constantly fight the original API which may have more elegant interfaces in ATS.

Rather it seems that a good approach would be to first really understand the code quite well, identify specific I/O parts that need to be basically the same as in C, then think about how to abstract the rest of the framework in ATS.

Brandon Barker
brandon...@gmail.com


--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/7079ad18-62ac-4356-8a27-94e934dbd79b%40googlegroups.com.

gmhwxi

unread,
Feb 17, 2014, 12:55:03 PM2/17/14
to ats-lan...@googlegroups.com
In general, the question you want to ask before porting something to ATS is
why you want to port it in the first place.

Say I want implement a game using Quake. I will first design an interface for
functions I need that are to be based on Quake. I will try to do programming in
ATS behind this interface, but this interface can be implemented in whatever
language or languages I find appropriate.

This is very similar to using library code in ATS. You don't want to use something
like linmap_avltree directly; instead, you introduce an abstract type called 'mymap', which
can be quickly implemented based on linmap_avltree (or other maps like hashtable_chain).

I advocate programmer-centric programming. Have your own interface and implement it
quickly based something that is similar.

chotu s

unread,
Feb 18, 2014, 1:01:37 AM2/18/14
to Hongwei Xi, ats-lan...@googlegroups.com
So how do I determine which version I am using ? I think I have installed the latest package but here is the output from patscc :


 ./patscc --version
exec(patsopt --version)
Hello from ATS2(ATS/Postiats)!
ATS/Postiats version 0.0.4 with Copyright (c) 2011-2013 Hongwei Xi
.......




--
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.

gmhwxi

unread,
Feb 18, 2014, 1:08:56 AM2/18/14
to ats-lan...@googlegroups.com, Hongwei Xi
I just downloaded and compiled it.

You should see:

Hello from ATS2(ATS/Postiats)!
ATS/Postiats version 0.0.6 with Copyright (c) 2011-2014 Hongwei Xi

Try to find ${PATSHOME}/bin/patsopt and do

${PATSHOME}/bin/patsopt --version

chotu s

unread,
Feb 18, 2014, 1:50:22 AM2/18/14
to gmhwxi, ats-lan...@googlegroups.com
It now give me correct version , after I changed my "PATSHOME" env variable.

Thanks


Reply all
Reply to author
Forward
0 new messages