For (1), my suggestion would be that you first pick an interesting problem
involving relational algebra and then write some pseudo code to implement
a solution to this problem. It is essential to get a clear idea about what you
really want to implement before attempting any actual implementation.
For (2), I would say it makes a great sense to first do some serious co-programming with
ATS and Objective-C. Here is such an example:
https://github.com/githwxi/ATS-Postiats-contrib/tree/master/projects/SMALL/GameOf24/OBJC
I feel it is essential for you to work out some examples before your attempting any implementation.
Please feel free to post to this forum your questions, comments, learning experience, etc.
On Saturday, December 6, 2014 9:49:36 AM UTC+6, gmhwxi wrote:For (1), my suggestion would be that you first pick an interesting problem
involving relational algebra and then write some pseudo code to implement
a solution to this problem. It is essential to get a clear idea about what you
really want to implement before attempting any actual implementation.
Thanks for the advice.
I have a working application (implemented in D4, a Tutorial D dialect) that I want to re-write in ATS (in the future).
For (2), I would say it makes a great sense to first do some serious co-programming with
ATS and Objective-C. Here is such an example:
https://github.com/githwxi/ATS-Postiats-contrib/tree/master/projects/SMALL/GameOf24/OBJC
I feel it is essential for you to work out some examples before your attempting any implementation.
Please feel free to post to this forum your questions, comments, learning experience, etc.
I've been doing some work towards this. Currently, I'm busy packaging GNUstep (an Objective-C environment for NixOS), a Linux distribution that simplifies the management of separate software environments (and I'll make a similar environment for ATS2 as well, so that new language users can quickly get started). After that is done, I'll try to come up with a motivating example.
On Wednesday, December 3, 2014 10:45:09 PM UTC-5, Artyom Shalkhakov wrote:Hi all,What are the options to extending ATS2 in a disciplined way?I have two extensions in mind:1. support for relational algebra operations2. support for Smalltalk-style OOP (as was done in ATS/Proto)For (2), I plan to follow the approach of Objective-C (Objective-ATS, if you prefer). A new type is introduced for objects, id, and for message selectors, SEL. Message selectors are formed at run-time, and a built-in "dispatch" function takes an object reference, a message selector, and some unspecified arguments and does the message send (the idea is to use the Objective-C runtime for this).For (1), I don't really know, but since relation headers are essentially finite mappings from field labels to types, then it makes stuff quite complicated for type-checking. For (1), the idea is to basically re-implement Dataphor (dataphor.org) in ATS2 (we only need a new type for forming relation types, and then some built-in operations for dealing with terms of relation types, e.g. join, restrict, etc.).What are the options to implement the two proposed extensions? I think that in contrast to ATS-parse-emit, here the source language needs to be extended (to be fair, target output may have to be tweaked a bit as well).(As you can see, I have an abundance of ideas and no time to finish any of them, sigh.)
--
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/a2d5a3ad-5281-4eed-8c7b-d043c11b8474%40googlegroups.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.
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/CAJ7XQb6i965USRm%2B9wnYonP3t%2BD2PRT7c_qeoU%2Bwe30qBXDd5Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/CAORbNRpzsc__PqNEDpM5GiiB_hNOK%3DJfxCY7eDoVN_QctcDGqQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/B0F550E2-B17C-452C-87E8-235C906E8437%40shealevy.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/B0F550E2-B17C-452C-87E8-235C906E8437%40shealevy.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/CAORbNRqLZvQ8UDzGRMhZ0xPFFNvxkMN-iLnrVc%3DK24TganbwSg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/DEBCA6EB-2BB5-43B4-9DBF-AC6770D8C7F3%40shealevy.com.